我正在尝试使用新的Paypal API(自适应支付)实施支付系统。
到目前为止,我有这个工作流程:
AdaptivePayments/Pay
AdaptivePayments/PaymentDetails
以了解付款状态。但是我想知道,如果超过3个小时怎么办? (比如退款?)
那么肯定的方法是什么?
感谢您的帮助!
答案 0 :(得分:11)
好吧,我会在阅读之后回答一下自己。
而不是在调用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是否存在,然后向AdaptivePayments/PaymentDetails
询问具有以下内容的trackingId:
{
"trackingId":"{put here}",
"requestEnvelope":{"errorLanguage":"en_US", "detailLevel":"ReturnAll"}
}
您将获得完整的详细付款状态作为回报。
现在,您需要更新数据库,致电买家等工作:)
对我有用的是什么: