Notification instantanée de paiement (IPN)

La fonction Notification instantanée de paiement vous permet d'intégrer vos paiements PayPal au traitement des commandes de votre site, de manière à obtenir une notification et une authentification immédiates des paiements PayPal reçus.

Fonctionnement

Lorsqu'un client vous envoie un paiement ou qu'un paiement est annulé ou remboursé, PayPal envoie une notification à votre serveur à l'URL que vous avez indiquée. Cette notification comporte toutes les informations pertinentes de paiement de votre client (par exemple, nom du client, montant des paiements) ainsi qu'un code crypté. À réception d’une notification, votre serveur retransmet les informations (et notamment le code crypté) à une URL sécurisée PayPal. PayPal authentifie la transaction et renvoie une confirmation de sa validité à votre serveur.

Remarque :Pour activer la fonction de Notification instantanée de paiement, vous devez entrer l'URL à laquelle vous souhaitez recevoir les publications de notification de paiement depuis vos Préférences.

Après avoir activé la Notification instantanée de paiement, votre serveur recevra une notification chaque fois que vous recevrez un paiement ; cette notification est envoyée sous forme de "FORM POST" cachée à l'URL que vous avez spécifiée, et comprend toutes les informations de paiement. Les variables FORM de la notification sont répertoriées dans le manuel Notification instantanée de paiement manuelle.

Chaque fois que vous recevez une Notification instantanée de paiement de PayPal, vous devez suivre la procédure de validation de notification décrite ci-dessous avant d'honorer la commande. En vérifiant les informations répertoriées, vous garantissez la légitimité de la transaction.

Validation d'une notification

Pour s'assurer qu'un paiement a été effectué sur votre compte PayPal, vous devez vérifier que l'adresse email servant de "receiver_email" a été inscrite et confirmée sur votre compte PayPal.

Une fois que votre serveur a reçu la Notification instantanée de paiement, vous devez la confirmer en créant une HTTP POST dans PayPal. Votre variable POST doit être envoyée à https://www.paypal.com/cgi-bin/webscr

comme vous l'avez reçu. Vous aurez également à ajouter une variable nommée "cmd" avec la valeur "_notify-validate" (par exemple : cmd=_notify-validate) à la chaîne POST.

PayPal répondra à la publication avec un seul mot, REUSSITE ou ECHEC, sur une ligne dans le corps de la réponse. Dès la réception d'une réponse VERIFIE, vous devez procéder à plusieurs vérifications avant d'honorer la commande :

  • Confirmez que la variable payment_status a pour valeur Terminé dans la mesure où les Notifications instantanées de paiement sont également envoyées pour d'autres résultats tels que En attente ou Échec.
  • Vérifiez que la variable txn_id n'est pas un doublon pour empêcher un fraudeur de réutiliser une ancienne transaction terminée.
  • Validez la variable "receiver_email" comme étant l'adresse email inscrite sur votre compte PayPal, pour éviter l'envoi du paiement sur le compte d'un fraudeur.
  • Vérifiez d'autres détails de la transaction comme le numéro et le prix de l'objet pour confirmer que le prix n'a pas changé.

Une fois que vous avez procédé aux vérifications ci-dessus, vous pouvez mettre à jour votre base de données avec les données IPN et traiter l'achat.

Si vous recevez une notification "NON VALIDE", considérez-la comme douteuse et menez votre étude.

Variables IPN

Pour une liste complète de toutes les variables IPN et des instructions détaillées concernant l'utilisation de la Notification instantanée de paiement, reportez-vous au Guide d'intégration de PayPal Intégral.

Adobe Acrobat est nécessaire pour la consultation des manuels PayPal.

Afficher d'autres variables de IPN pour les Abonnements PayPal et paiements récurrents.