Question

J'essaie de mettre en œuvre un système de paiement en utilisant la nouvelle API PayPal (paiement adaptatif).

Jusqu'à présent, j'ai ce flux de travail:

  • Envoyez une demande à PayPal pour: AdaptivePayments/Pay
  • Cela crée une demande de rémunération et renvoyez un Paykey qui est valable 3 heures (la source)
  • Maintenant, j'attends que PayPal m'envoie une demande via l'IPN. Quand ça le fera, j'aurai le Pay_Key avec
  • En utilisant ce pay_key, j'appellerai le AdaptivePayments/PaymentDetails pour connaître l'état du paiement.

Mais je me demandais, comment puis-je faire si cela faisait plus de 3 heures? (comme dans un remboursement?)

Quelle est la façon sûre de faire alors?

Merci pour ton aide!

Était-ce utile?

La solution

Eh bien, je me répondrai sur celui-là et après un peu de lecture.

Au lieu d'utiliser le Paykey donné lors de l'appel AdaptivePayments/Pay, et une autre solution consiste à utiliser le suivi.

Voici comment :

Première étape, vous créez un AdaptivePayments/Pay et vous spécifiez un suivi (doit être unique):

{
  "actionType":"PAY",
  "currencyCode":"USD",
  "receiverList":{"receiver":[{"amount":"1.00","email":"seller_1288085303_biz@gmail.com"}]},
  "returnUrl":"http://apigee.com/console/-1/handlePaypalReturn",
  "cancelUrl":"http://apigee.com/console/-1/handlePaypalCancel?",
  "trackingId":"abcde-12345-unique-of-course",
  "ipnNotificationUrl":"http://apigee.com/console/-1/ipn",
  "requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}

En réponse, vous aurez le Paykey où vous redirigerez votre acheteur, afin de faire le paiement.

Ensuite, pour toute l'évolution de ce paiement, vous serez informé de votre URL IPN (ici, "http://apigee.com/console/-1/ipn").

Lorsque vous recevrez une demande (post) dans cette adresse, vérifiez la validité à PayPal et vous obtiendrez un trackingId dans le paramètre. Vérifiez que ce suivi existe puis demandez AdaptivePayments/PaymentDetails avec ce suivi comme ceci:

{
 "trackingId":"{put here}",
 "requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}

Et vous aurez un statut complet de votre paiement en retour.

Maintenant, vous faites le travail pour mettre à jour votre base de données, appelez votre acheteur, etc.

Ce qui m'a été utile:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top