|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
Au moment ou le panier est constitué, on demande à l’utilisateur de valider le panier et là normalement, il est dirigé vers la page de la banque pour le paiment.
Ma question est la suivante : A quelle moment in insère la commande ne base de données. En effet, si j’insère la commande dans la base de donnée au moment ou le client valide, cela signifie que chronologiquement, il y insert dans la base de données et ensuite redirection vers la page de la banque. Mais si arrivé à la page de la banque l’utilisateur ne veux plus payé,alors c’est trop tard pour moi puisque j’ai considérer la commande comme validé etles données sont dans ma base de donnée… Vous me suivez ? Existe-t-il un moyen d’éviter cela ? Merci d’avance de vos réponses. |
|
|
00
|
|
|
#2 |
|
Invité de passage
![]() Inscription : avril 2006 Messages : 5 ![]() |
Tu insert apres reception de la notification de la banque. normallement elle doit de renvoyer le statut : accepté, refusé, carte en bois etc ...
|
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : juillet 2004 Messages : 1 033 ![]() |
Ce qu'il te manque dans ton système c'est un état de commande.
A chaque évolution de la commande cet état change pour refléter... bah l'état en cours du traitement. en gros tu peux les défnir ainsi : - en cours (panier) - en attente de réception du paiement (cheque) - en attente de validation du paiement (cheque encore) - payée (paiement acceptée, cheque ou cb) - traitée (commande pris en compte par le service client) Necessairement il te faudra un état annulée. Dans le cas du paiement CB, si ton client n'à pas d'option de paiement en différé, le déroulée se résume à : - en cours - payée - traitée Voila l'idée en gros. Après faut s'adapter au spécifictés et demande de chaque client. Certains possède des paiements en x fois, d'autres seulement la CB. Mais amha que c'est une mauvaise idée de partir du postulat qu'une commande simplement enregistrée est une commande dument payée. bye |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
pouvez-vous me donner une ou deux idées de tables pour la validation d'une commande.
Je m'explique, je valide ma commande quand le paiement est effectif. J'attends donc que la page de paiement sécurisé m'envoie une espèce de flag pour me dire que le paiement est effectif. A ce moment là, j'insère mes données du panier (qui sont toujours en session) dans un table db2. J'espère que jusque là j'ai tout bon... sinon vous m'arrêtez... Et bien je ne sais pas trop quels champs il faut je mette dans cette table que l'on va appeler commande. Ou encore faut-il plusieurs tables... Merci d'avance pour votre aide. |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
attention !
N'oublie pas que les variables de session expirent au bout de 20min d'inactivité !!! Imagine que le mec reste plus de 20 minutes à la banque (style, il va chercher sa carte dans son porte feuille et fait autre chose en même temps). Il paye mais quand il revient les variables sont perdues et la commande avec ! Ce que je fais sur un site de vente de revue : j'insert la commande dans ma base avant le passage à la banque. Je fournis le numéro de la commande à la banque dans les variables que je peux lui passer. De retour de la banque, je met à jour la ligne de la commande (dont j'avais passé le numéro en paramètre à la banque) en y inscrivant le code de retour. Tu auras donc ceux qui ont payé, sont dont le paiement a été refusé et ceux qui ne sont pas allé jusqu'au bout. En cas de problème, tu auras une trace de toutes les transactions. Et avec ce système tu n'as pas le problème des sessions de 20 minutes et donc aucune perte. |
|
|
00
|
|
|
#6 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
de quelle façon passe tu le paramètre à la banque?
si c'est par une session le problème est le même? Et de quelle façon récupère-tu ce paramètre? aurais-tu un exemple un exmple de table de commande? Afin que je sache quel champs je dois mettre etc... meci d'aavnce. |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
pour passer le paramètre à la banque, cela se passe par un formulaire
et pour le retour, la banque accède à une URL du genre "validation?commande=ag45er" pour indiquer que la commande c'est bien passée
__________________
Modérateur PHP |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
ben ca dépend de la banque
avec la BNP ce sont des variables que je passe en POST et au retour ce sont aussi des variables POST. Normalement, tu dois avoir une doc fournie par ta banque qui t'explique les variables que tu peux passer et celles que tu récupères |
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Inscription : mars 2004 Messages : 1 187 ![]() |
merci pour vos réponse.
j'essaie de voir quel sera la structure de ma table commande après validation du panier... j'aurais les champs suivants : 1) numero de commande 2) pseudo du client 3) type d'article 4) quantité d'article 5) prix ht de l'article 6) prix ttc de l'article 7) prix total de la commande 8) état de la commande(accepté, refusé ou en cours 9) état de l'expédition voilà pensez-vous que j'ai oublié quelque chose? Et une seul table suffit-elle? merci pour vos précieux conseils. |
|
|
00
|
|
|
#10 |
|
Membre éprouvé
![]() Développeur informatique Inscription : janvier 2003 Messages : 560 ![]() |
Concernant la structure de ta table commande, du devrait jeter un coup d'oeil aux cours sur Merise, et tu verras que ta structure n'est pas fonctionnelle (tu ne peux pas gérer plusieurs articles dans une commande, par exemple)
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 2 161 ![]() |
+1
Comme ca je ferais un truc du style : 1 table produit avec un code produit, les prix... 1 table client avec numéro, nom... 1 table panier avec un numéro de commande, les codes produits (1 ligne par produit, il faut donc une clé double), les quantités 1 table commande avec numéro de commande, numéro de client et statut Les totaux tu les calcules à la volée en faisant une jointure |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com