好吧,我会在阅读后回答自己。
不要使用调用AdaptivePayments/Pay时给出的payKey,其他的解决方法是使用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”)的通知。
当您在此地址收到 (POST) 请求时,请检查 paypal 的有效性,您将在参数中获得 trackingId。检查此 trackingId 是否存在,然后使用该 trackingId 询问 AdaptivePayments/PaymentDetails,如下所示:
{
"trackingId":"{put here}",
"requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}
您将获得完整详细的付款状态作为回报。
现在,您可以完成更新数据库、致电买家等工作:)
对我有什么帮助: