Par Matthieu, Fondateur.

Ce matin, un ami me contacte par chat :
“Paypal configuré en sandbox via ce tutoriel, mais le statut de la commande reste à Awaiting Paypal Payment, une idée ?”.

Oui, j’ai une idée car j’avais perdu beaucoup de temps sur cette bêtise, aussi je vous partage mes galères !

Beaucoup de gestionnaires de sites créent une plateforme de pré-production, et la protège des regards indiscrets avec une “basic authentication” (fichier .htaccess). Le problème, c’est que Paypal fait une requête vers votre site pour confirmer que la commande est payée … et paypal ne connait pas votre mot de passe ! Ainsi, le paiement n’est jamais confirmé par Paypal et votre commande reste en statut Awaiting Paypal Payment.

La solution : débloquer la “basic authentication” sur le dossier du module Paypal de Prestashop. Pour cela on ajoute un .htaccess dans le dossier /modules/paypal contenant :

order deny,allow
allow from all
satisfy any

En d’autres termes, l’URL :
http://votre-site.com/votre-chemin/modules/paypal/validation.php
doit être accessible à tous, sinon Prestashop ne reçoit pas de confirmation de paiement, et votre commande n’est donc pas validée.

Note : en mode sandbox, le paiement sur Paypal passe en commande en “erreur de paiement” avec le montant de commande à 0. Prestashop explique que c’est normal puisqu’il s’agit du mode sandbox… Je pense que c’est au développeur de savoir ce qu’il fait, et que le paiement devrait être validé comme un paiement normal. Bref, je n’utilise donc jamais le mode Sandbox de Paypal pour mes tests, puisque le processus d’achat ne se déroule pas exactement comme un achat “normal”.

9 thoughts

Laissez un commentaire


*