Что ж, я сам отвечу на этот вопрос и после небольшого прочтения.
Вместо использования payKey, указанного при вызове AdaptivePayments/Pay
, а другое решение - использовать trackingId.
Вот как:
На первом шаге вы создаете AdaptivePayments/Pay
и указываете trackingId (должен быть уникальным):
{
"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"}
}
В ответ вы получите PayKey, который выВы перенаправите своего покупателя на, чтобы совершить платеж.
Затем, на протяжении всей эволюции этого платежа, вы будете уведомлены на ваш IPN-адрес (здесь "http://apigee.com/console/-1/ipn").
* 1016").* Когда вы получите (POST) запрос по этому адресу, проверьте действительность PayPal, и вы получите
trackingId
в параметре. Проверьте, существует ли этот trackingId, а затем спросите
AdaptivePayments/PaymentDetails
с этим trackingId следующим образом:
{
"trackingId":"{put here}",
"requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}
И у вас будет полный подробный статус вашего платежа взамен.
Теперь вы выполняете работу по обновлению базы данных, звоните покупателю и т. Д. И т. Д.)
Что мне помогло: