PayPal REST API 支付 id = IPN txn id

Posted

技术标签:

【中文标题】PayPal REST API 支付 id = IPN txn id【英文标题】:PayPal REST API payment id = IPN txn id 【发布时间】:2014-08-05 10:32:46 【问题描述】:

让我们假设 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呢?

【问题讨论】:

【参考方案1】:

IPN 旨在支持 PayPal 上的经典 API,并且 txn_id 将与使用经典 API 进行的付款的 txn_id 匹配。

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

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

这两种方法都存在一定的局限性,而且即将推出的 webhook 支持将为 REST 支付提供基于推送的通知支持,以缓解这些问题。

【讨论】:

您发布此答案已有 2 年。从IPNtxn_id 获取payment_id 仍然不可能吗?【参考方案2】:

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

【讨论】:

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

以上是关于PayPal REST API 支付 id = IPN txn id的主要内容,如果未能解决你的问题,请参考以下文章

REST api 中的 Paypal 自适应支付

通过 PayPal REST API 进行银行支付

用于支付流的 Paypal PHP REST API

PayPal 支付 REST API - 可用性?

Paypal Payment REST API 和信用卡支付

PayPal智能支付按钮与服务器端REST API集成