Хорошо, я отвечу на это и после небольшого чтения.
Вместо того, чтобы использовать payKey при вызове AdaptivePayments/Pay
, и другим решением является использование trackingId.
Вот как:
Первый шаг, вы создаете AdaptivePayments/Pay
и вы указали trackingId (должен быть уникальным):
{
"actionType":"PAY",
"currencyCode":"USD",
"receiverList":{"receiver":[{"amount":"1.00","email":"[email protected]"}]},
"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"}
}
В ответ, вы будете иметь payKey, что вы будете перенаправлять покупатель, чтобы сделать платеж.
Затем, для всей эволюции этого платежа, вы будете уведомлены на ваш IPN-адрес (здесь, «http://apigee.com/console/-1/ipn»).
Когда вы получите запрос (POST) на этот адрес, проверьте его правильность и вы получите trackingId
в параметре. Убедитесь, что это trackingId существует, а затем спросить AdaptivePayments/PaymentDetails
с этим trackingId, как это:
{
"trackingId":"{put here}",
"requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}
И вы будете иметь полный статус Более детальную оплаты в ответ.
Теперь вы делаете работу, чтобы обновить базу данных, обратитесь к покупателю, и т.д. и т.п. :)
Что было полезно для меня:
Хороший! Документация Paypal настолько сложна, что сложно понять этот процесс. –