Page 1 sur 1

Tuto sur le système de panier pour boutique en ligne

Posté : 23 mai 2008, 16:23
par dread
Bonjour à tous!

J'essaie de mettre en place ma première boutique en ligne et pour le fonctionnement du panier, j'ai suivi les conseils trouvés à cette adresse: http://jmolline.free.fr/tutos/tuto_panier.html

J'en suis à la partie pour sécuriser mon panier en le verrouillant une fois l'internaute sur la page de paiement. Néanmoins, j'ai du mal à percevoir sur quelle page exactement je dois verrouiller mon panier.

Pour mon processus de commande, il se fait en 4 étapes:
1°) Récap du panier avec possibilité de toucher aux quantités, supprimer des articles de la liste
2°) Identification de la personne ou création d'un compte
3°) Choix des adresses de facturation/livraison et du mode de transport
4°) Récap de la commande et choix du moyen de paiement. (soit par chèque, soit par CB)

Lorsque une personne choisit un mode de règlement par chèque, je verrouille mon panier dès lors qu'il clique sur le lien "paiement par chèque". Il est ensuite redirigé vers une page lui stipulant le montant, l'ordre et l'adresse à laquelle il doit faire parvenir son chèque. je pense que j'agrémenterai cette dernière étape par l'envoi d'un mail qui restipule ces derniers éléments.

Par contre, s'il choisit le paiement par CB, il est redirigé, à l'heure actuelle puisque je n'ai pas trop touché encore au système de paiement en ligne de la banque, vers une première page, puis une seconde avant d'arriver sur la page de la banque pour renseigner des infos bancaires.

Alors, pour le choix de paiement par CB, quand selon vous, doit intervenir le verrouillage du panier?? et comment appeler la fonction preparerPaiement()?
function preparerPaiement() 
{ 
    $_SESSION['panier']['verrouille'] = true; 
    header("Location: URL_DU_SITE_DE_BANQUE"); 
} 

} 
Je vous remercie par avance pour toute aide apportée.

Posté : 24 mai 2008, 14:34
par Cyrano
Le but du verrouillage du panier est fait pour pour interdire l'ajout d'articles dans le panier après le paiement. Quel que soit le mode de paiement, ça va modifier une variable du panier qui interdira la modification du contenu. Donc une fois la commande payée, on vide le panier après avoir bien évidemment enregistré la commande... et on peut à nouveau le déverrouiller.

Posté : 26 mai 2008, 09:28
par dread
Bonjour Cyrano et tous les autres!!

Donc quand tu dis "Le but du verrouillage du panier est fait pour interdire l'ajout d'articles dans le panier après le paiement.", c'est que dans le cas d'un paiement en ligne par CB, je ne verrouille le panier qu'après l'étape où la personne renseigne ces infos bancaires et que le paiement a été validé par la banque?

Ca donnerait le schéma suivant alors?
1) renseignement des infos bancaires par l'internaute;
2) validation du paiement par la banque;
3) verrouillage du panier;
4) enregistrement de la commande dans la bdd;
5) le panier est vidé

Donc cela veut aussi dire que si la personne choisit un mode de paiement par CB, qu'elle arrive sur la page de la banque et que finalement elle décide de retourner à la boutique, le panier n'est pas encore verrouillé?

J'avais cru comprendre sur le tuto, qu'il pouvait y avoir des problèmes de sécurité si la personne ouvrait deux fois la boutique dans son navigateur. Tu peux m'en dire plus!!

Désolé pour toutes ces questions, mais étant ma première boutique de vente en ligne, je me pose tout un tas de question et notamment en matière de sécurité.

Merci pour vos réponses!!

Posté : 26 mai 2008, 10:20
par Cyrano
J'avais cru comprendre sur le tuto, qu'il pouvait y avoir des problèmes de sécurité si la personne ouvrait deux fois la boutique dans son navigateur. Tu peux m'en dire plus!!
C'est précisément le problème de la modification du panier avec une des fenêtre pendant qu'on est en phase de paiement sur l'autre : si les deux fenêtres partagent le même identifiant de session, la fenêtre coté banque a envoyé des quantité de produits et les modifications sur l'autre fenêtre ne seront pas prises en compte par la banque : or l'enregistrement de la commande va se faire non pas sur la base des données de la banque mais sur le panier de session, la banque se contentant de retourner la validation du paiement. Donc ton verrouillage doit se faire au moment de passer coté banque.

Ça veut aussi dire que si le client décide de revenir sur le site avant de valider son paiement, tu peux déverrouiller le panier pour qu'il puisse le modifier avant de revenir à la phase paiement.

En fait, si tu y réfléchis un peu, tout ça est très logique.