Questions de principe sur le fonctionnement de l'IPN (notification instantannée de paiement) de Paypal.
On déclare 3 Url :
a - Une pour le retour de l'internaute vers le site ( si il en a envie) après paiement.
b - Une autre idem mais suite à annulation de paiement.
c - Une 3eme pour un échange technique entre le serveur de Paypal et le serveur du site marchand, le fameux Ipn.
1 - Identifier l'internaute à son retour sur le site
Dans les cas a et b, les variables de session php sont elles toujours actives ? Sinon comment identifier l'acheteur.
2 - Savoir quand il revient si il a payé ou pas !
Le fait qu'un internaute se pointe sur la page prévue pour un retour après paiement n'est clairement pas une garantie qu'il a payé, d'où l'ipn. Dans le bouton de paiement qui débranche vers paypal, on peut mettre un champ hidden de nom "custom" qui est restitué au retour, donc pas de problème pour savoir de quel acheteur il s'agit.
Par contre est on toujours appellé sur l'url d'Ipn AVANT le retour physique éventuel de l'internaute ou est ce que ce n'est pas sur ? Auquel cas il y a un pb de synchro évident.
3 - Ecrire un listener d'Ipn propre
On trouve différents modèles de script pour le listener d'Ipn mais aucun (y compris ceux fournis par Paypal) ne respectent les indications que Paypal donne concernant le controle dereceiver_mail et payment_status, l'échange final de confirmation pour que paypal ne répete pas la notification, ... Vous pouvez m'indiquer qq chose qui tienne la route ?
Merci.
On déclare 3 Url :
a - Une pour le retour de l'internaute vers le site ( si il en a envie) après paiement.
b - Une autre idem mais suite à annulation de paiement.
c - Une 3eme pour un échange technique entre le serveur de Paypal et le serveur du site marchand, le fameux Ipn.
1 - Identifier l'internaute à son retour sur le site
Dans les cas a et b, les variables de session php sont elles toujours actives ? Sinon comment identifier l'acheteur.
2 - Savoir quand il revient si il a payé ou pas !
Le fait qu'un internaute se pointe sur la page prévue pour un retour après paiement n'est clairement pas une garantie qu'il a payé, d'où l'ipn. Dans le bouton de paiement qui débranche vers paypal, on peut mettre un champ hidden de nom "custom" qui est restitué au retour, donc pas de problème pour savoir de quel acheteur il s'agit.
Par contre est on toujours appellé sur l'url d'Ipn AVANT le retour physique éventuel de l'internaute ou est ce que ce n'est pas sur ? Auquel cas il y a un pb de synchro évident.
3 - Ecrire un listener d'Ipn propre
On trouve différents modèles de script pour le listener d'Ipn mais aucun (y compris ceux fournis par Paypal) ne respectent les indications que Paypal donne concernant le controle dereceiver_mail et payment_status, l'échange final de confirmation pour que paypal ne répete pas la notification, ... Vous pouvez m'indiquer qq chose qui tienne la route ?
Merci.