7
votes

PayPal Express Checkout Manipulation "Paiements en attente" avec IPN

Je ne peux pas trouver des documentations claires annulées à ce sujet.
Si vous utilisez PayPal Express Checkout, lorsqu'un paiement est en attente de ce qui se passe ensuite?
Est-ce que PayPal vous envoie par IPN une mise à jour si les états changent, avez-vous des options?

Disons que vous faites un doexpressCheckoutPayment (avec NVP) Et vous obtenez ceci: xxx

Vous avez donc fait le paiement et vous voulez attendre jusqu'à ce que son effacement? Que devrais-tu faire ensuite.

Mettez à jour certaines (Documentation externe) J'ai trouvé uniquement SUBTE que vous pourriez utiliser (IPN?) pour gérer les paiements en attente.

"Si le paiement de paiement express exprime la réponse à la saisie est une valeur Autrement qu'aucun ou achevé, le paiement est en attente. Typiquement, Cela signifie que le client a payé avec Anechank. Dans un tel cas, des fonds ne sont pas garantis, et vous ne devez pas expédier ou livrer des articles ni services jusqu'à ce que le paiement ait terminé avec succès. NOTE:
PayPal vous recommande de bloquer ECHECKS comme méthode de paiement si vous sont incapables de tenter des paiements d'état en attente. Pour découvrir le statut d'un Paiement en attente, vous pouvez:

soumettre une transaction d'enquête.

Vérifiez le statut à l'aide de PayPal Manager. Voir Aide en ligne de PayPal Manager pour plus de détails. "

Le sandbox PayPal semble avoir la possibilité de vérifier les messages IPN pour le type de commande express. La seule corrélation (si elle doit être utilisée de cette façon) entre le doexpressCheckoutPayment et l'IPN semble que vous puissiez utiliser le champ "personnalisé" pour garder une trace d'un statut en attente. Le TXN_ID (IPN) n'est pas donné dans doExpressCheckoutPayment (NVP). Est-ce que quelqu'un a une expérience avec cela?


1 commentaires

Je reçois en plein air = manquant


3 Réponses :


13
votes

L'ID de transaction est très certainement donné dans DOExpressCheckoutPayment, même si le paiementStatus = en attente. Un paiement en attente est toujours une transaction.

Alors oui, vous seriez notifié via IPN lorsque la transaction est terminée. Cela prend généralement quelques jours ouvrables.
Une fois terminé, vous pouvez corréler la transaction de DOExpressCheckoutPayment à l'IPN, vous aurez reçu via TXN_ID dans l'IPN.

Remarque: Si vous souhaitez tester un paiement "en attente" dans la boite de sable PayPal, allez simplement à HTTPS: // développeur .paypal.com / > Compte de test et cliquez sur "Examen de paiement" pour le compte du vendeur que vous testez.
Une fois que l'examen de paiement est activé sur ce compte vendeur, toutes les transactions qu'il reçoivent seront dans un état "en attente".
Il suffit de désactiver la révision de paiement pour libérer les transactions par la suite.


2 commentaires

Merci, cela a du sens, la documentation PayPal n'exécutera pas très clair à ce sujet.


En effet! Existe-t-il une documentation plus détaillée avec des informations sur «l'histoire complète» de Expresscheckout? Par exemple, comment il est affecté par IPN, dans quelles situations une transaction peut être en attente, ce qui peut généralement être effectué dans de telles situations, lorsque cela devrait accepter des transactions en attente et quand ne pas accepter, etc.



1
votes

Une chose non notée ici et je n'ai rien trouvé d'autre à confirmer .. Est-ce que PayPal Express API ne prend pas en charge la transmission dans le notifuril avec le code. Vous devez donc utiliser l'URL IPN codé sur votre compte PayPal. Cela provoque bien sûr des problèmes, car vous avez besoin d'un fichier de rappel commun pouvant rediriger vers les options de paiement individuelles.

Par exemple, si vous utilisez PayPal Express et PayPal Advanced. Aucun de ceux qui ne prennent en charge correctement une notification passée à l'aide du code. PayPal avancé prétendent, mais cela ne semble pas fonctionner. Donc, il doit exister un fichier de rappel IPN commun qui gère la redirection à chacun.

Sauf si quelqu'un d'autre peut confirmer une URL de notification de travail pour une variable de paiement express pouvant être transmise dans le code?


3 commentaires

Cela devrait fonctionner si vous spécifiez NOTIFYURL dans DOExpressCheckOpkayment. Est-ce ce que tu fais?


Oui, il "devrait" mais ne le fait pas. J'ai confirmé avec des développeurs Zen-Cart, ce qui est pourquoi ils ont dû créer un fichier IPN "commun" pour gérer des rappels de l'API de Muliples PayPal. J'ai trouvé qu'ils l'ont ajouté dans des versions plus récentes de leur API PayPal Express comme "PaymentRequest_0_Notifururl" et il semble y avoir un travail là-bas .. Honnêtement, PayPal a tant d'API et qu'ils ont tous une tonne de bogues afin que cela soit généralement frappé ou manque de ce qui fonctionne ou non.


Oh attends .. vous avez dit doExpress .. je l'ai seulement dans setingexpress .. ok je vais essayer doExpress



3
votes

Je pensais ajouter mes deux pence de pensées à cela.

Je reçois un statut de retour en attente à l'aide de la caisse Express via le DotNet SDK, conformément aux documents et exemples que j'aurais dû recevoir un statut «approuvé».

Je ne pouvais pas comprendre pourquoi mais cela s'est avéré être parce que je faisais passer une nouvelle monnaie, dans notre cas "GBP". Je devais vous connecter en tant que compte Sandbox Facilitateur et décider de quoi faire avec la nouvelle monnaie. Convertissez-le ou configurez un nouvel équilibre dans la devise. Une fois que j'ai fait cela, et l'avez défini comme l'action par défaut, l'état de retour en attente n'est plus survenu.

espoir que cela aide quelqu'un!


0 commentaires