2014-06-15 71 views
3

我们假设PayPal REST API用于完成标准的PayPal付款流程。在执行付款时,它将作为“待处理”返回,因此付款尚未完成。该REST API提供的支付ID: https://developer.paypal.com/docs/api/#execute-an-approved-paypal-paymentPayPal REST API payment id = IPN txn id

当支付完成我的IPN监听器的URL被调用,但是因为说本网站只包括一个txn_id这似乎是不一样的付款ID REST API: https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/#id08CKFJ00JYK

那么如何匹配这两个ID?

回答

1

IPN消息的txn_id也包含在REST API消息中,但在那里称为“销售ID”。

+0

当我使用'txn_id'获取销售详细信息时,我得到空值。你能告诉我什么是问题吗? – viper

2

IPN设计用于支持PayPal上的传统API,并且txn_id可以匹配使用传统API进行支付的txn_id。

对于通过REST API进行的付款,您仍可能会通过IPN收到通知,但不幸的是无法使用当前的ID匹配付款。您现在最好的选择是检查付款的属性(金额,货币等),并检查它是否符合您期望的付款属性。

目前这是基于推送通知的现有选项。另一种选择可能是定期轮询并检查付款状态。

这两种方法都有一定的局限性,并且即将推出webhook支持,它将推出基于推送的REST付款通知支持以缓解这些问题。

+0

它已经2年了,你已经发布了这个答案。从'IPN'的'txn_id'获得'payment_id'仍然不可能? – viper