L'idée est de faire deux types de comptes utilisateurs : un gratuit et un payant.
Le payement se fait par des boutons PayPal et j'utilise l'Instant Payment Notification (IPN) pour activer le compte une fois le payement effectué.
IPN est un service asynchrone qui nous envoie des messages sur un listener pour notifier des évènements PayPal (payement en cours, payement effectué, remboursement etc.). Une bonne source d'information est l'IPN Guide de PayPal.
Donc, après avoir implémenté une servlet comme listener, j'utilise l'IPN Simulator de PayPal Sandbox pour vérifier son fonctionnement.
L'objectif est donc que le service PayPal accède en HTTP à mon poste de développement.
Il a fallu pour cela effectuer un translation de port NAT sur la box de mon FAI.
port externe 8080 --> @IPposteDev port interne 8080
Sauf que, malgré ce paramétrage, l'IPN Simulator donne l'erreur :
IPN delivery failed. Unable to connect to the specified URL. Please verify the URL and try again.
La solution, non documentée à ma connaissance, est que l'IPN Simulator ne fonctionne qu'avec le port HTTP par défaut : 80. La translation NAT est donc :
port externe 80 --> @IPposteDev port interne 8080
Aucun commentaire:
Enregistrer un commentaire