我们假设PayPal REST API用于完成标准的PayPal付款流程。执行付款时,它将作为“等待”退回,因此尚未付款。 REST APi提供付款ID: https://developer.paypal.com/docs/api/#execute-an-approved-paypal-payment
付款完成后,我的IPN侦听器的URL被调用,但是如此站点上所述只包含一个txn_id,它似乎与REST API的付款ID不同: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#id08CKFJ00JYK
那么如何匹配这两个ID?
答案 0 :(得分:2)
IPN旨在支持PayPal上的经典API,而txn_id将与使用传统API进行的付款的txn_id相匹配。
对于通过REST API进行的付款,您仍可能通过IPN收到通知,但遗憾的是无法使用当前的ID进行付款。您现在最好的选择是检查付款的属性(金额,货币等),并检查它是否与您期望的付款属性相匹配。
目前,这是基于推送的通知的现有选项。另一种选择可能是定期轮询并检查付款状态。
这两种方法肯定存在局限性,并且即将推出webhook支持,这将支持REST支付的基于推送的通知支持,以缓解这些问题。
答案 1 :(得分:1)
IPN消息的txn_id也包含在REST API消息中,但在那里称为“销售ID”。