Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web > E-Commerce
E-Commerce Forum d'entraide sur le commerce électronique sur le Web, et sur les paiements en ligne
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2006, 13h04   #1
Membre confirmé
 
Inscription : mars 2004
Messages : 1 187
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 187
Points : 233
Points : 233
Par défaut Comment gérez-vous la validation d’un panier ?

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.
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 16h08   #2
Invité de passage
 
Inscription : avril 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 5
Points : 2
Points : 2
Tu insert apres reception de la notification de la banque. normallement elle doit de renvoyer le statut : accepté, refusé, carte en bois etc ...
rikewir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2006, 21h01   #3
Membre Expert
 
Inscription : juillet 2004
Messages : 1 033
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 1 033
Points : 1 050
Points : 1 050
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
ePoX est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 12h44   #4
Membre confirmé
 
Inscription : mars 2004
Messages : 1 187
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 187
Points : 233
Points : 233
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.
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 13h42   #5
Membre Expert
 
Avatar de Oluha
 
Inscription : novembre 2004
Messages : 2 161
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2004
Messages : 2 161
Points : 2 051
Points : 2 051
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.
Oluha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 22h36   #6
Membre confirmé
 
Inscription : mars 2004
Messages : 1 187
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 187
Points : 233
Points : 233
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.
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2006, 23h12   #7
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
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
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 10h27   #8
Membre Expert
 
Avatar de Oluha
 
Inscription : novembre 2004
Messages : 2 161
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2004
Messages : 2 161
Points : 2 051
Points : 2 051
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
Oluha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 13h50   #9
Membre confirmé
 
Inscription : mars 2004
Messages : 1 187
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 1 187
Points : 233
Points : 233
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.
sam01 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 14h38   #10
Membre éprouvé
 
Avatar de Monstros Velu
 
Homme
Développeur informatique
Inscription : janvier 2003
Messages : 560
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Associations - ONG

Informations forums :
Inscription : janvier 2003
Messages : 560
Points : 440
Points : 440
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)
Monstros Velu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2006, 15h31   #11
Membre Expert
 
Avatar de Oluha
 
Inscription : novembre 2004
Messages : 2 161
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : novembre 2004
Messages : 2 161
Points : 2 051
Points : 2 051
+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
Oluha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h01.


 
 
 
 
Partenaires

Hébergement Web