2014-06-15 83 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