Transfert des données de paiement
Introduction
Présentation technique
Manuel
Echantillons de code


Présentation technique


La fonction de transfert des données de paiement offre aux marchands la possibilité d'indiquer le détail des transactions de paiements aux acheteurs qui sont redirigés vers leur site une fois le paiement terminé.

Fonctionnement

Une fois que vous avez activé la fonction Transfert des données de paiement, chaque fois qu'un acheteur effectue un paiement sur votre site marchand et est redirigé vers votre URL de renvoi, un jeton de transaction est transmis sous forme de variable "GET" vers cette URL de renvoi. Pour pouvoir utiliser correctement la fonction Transfert des données de paiement et indiquer le détail des transactions à votre client, vous devez extraire le jeton de transaction, le nom de variable "tx" et récupérer les Détails de la transaction auprès de PayPal en mettant en place un HTTP POST vers PayPal.

Votre POST doit être envoyé vers https://www.paypal.com/cgi-bin/webscr. Vous devez envoyer le jeton de transaction en utilisant la variable "tx" et la valeur du jeton de transaction précédemment reçu (par ex. "tx=transaction_token"), ainsi que le jeton d'identité spécial en utilisant la variable at et la valeur du jeton d'identité de votre transfert des données de paiement (par ex. "at=identity_token"). Vous devrez également ajouter une variable nommée "cmd" avec la valeur "_notify-synch" (par exemple "cmd=_notify-synch") à 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. Lorsque vous recevez une réponse REUSSITE, le reste du corps de la réponse contient les détails de la transaction structurés par ligne, au format clé=valeur, où la clé et la valeur sont des chaînes codées dans le format d'une URL. Les données de cette réponse doivent être analysées de manière adaptée puis décodées en langage Web.

Exemple de réponse de réussite :
REUSSITE
first_name=Jean+Paul
last_name=Leroy
payment_status=Terminé
payer_email=jeanpaulleroy@hotmail.com
payment_gross=3,99
mc_currency=USD
custom=Pour+l+achat+du+livre+Ravages
...

Vous pouvez indiquer à votre client n'importe quel détail de la transaction que vous jugez utile. Cependant, PayPal recommande d'inclure l'adresse de livraison, l'adresse email du payeur et le montant payé. Si vous utilisez la fonction Transfert des données de paiement pour déterminer le moment d'honorer une commande automatiquement, confirmez que payment_status est Terminé, car l'acheteur peut utiliser des modes de paiements qui ne sont pas automatiquement compensés, tels que les virements différés.

Si vous utilisez ces données pour honorer des commandes, PayPal vous recommande fortement d'activer la IPN pour déterminer le moment où ces paiements en attente sont compensés. Pour plus d'informations, veuillez consulter le manuel de IPN de PayPal, disponible sur le site PayPal.

Si la réponse est ECHEC, vous pouvez alors réessayer de publier sur PayPal afin de déterminer si l'origine de l'échec tient à une erreur de réseau ; toutefois, si la deuxième tentative échoue elle aussi, PayPal vous recommande de vérifier votre script et de pousser plus loin vos investigations :
  • vérifiez que la variable txn_id n'est pas un doublon pour empêcher quelqu'un 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é.

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.