Paypal:快速结帐自定义 PAYMENTREQUEST_n_TRANSACTIONID 不起作用

Posted

技术标签:

【中文标题】Paypal:快速结帐自定义 PAYMENTREQUEST_n_TRANSACTIONID 不起作用【英文标题】:Paypal: Express Checkout custom PAYMENTREQUEST_n_TRANSACTIONID not working 【发布时间】:2015-04-03 07:57:51 【问题描述】:

TL;DR 版本

根据 Express Checkout NVP Api 文档,我可以使用 PAYMENTREQUEST_n_TRANSACTIONID 字段设置自己的交易 ID。这对我来说永远不起作用 - 来自“DoExpressCheckoutPayment”的响应总是返回不同的交易 ID。文档没有说它是否需要是唯一的(我认为它是唯一的)或如何生成一个保证在 Paypal 方面被接受为有效的 ID。我该怎么做?

完整版(先阅读上文)

我真的不需要创建自己的交易 ID。如果我可以确定我对“DoExpressCheckoutPayment”的调用在 Paypal 发出 IPN 之前完成 - 那很好。这样我就可以在发出 IPN 之前从“PAYMENTINFO_n_TRANSACTIONID”字段更新我的记录,然后使用 IPN 调用中的“txn_id”来更新我的记录。

目前在“SetExpressCheckout”阶段设置自定义交易 ID 永远不会在 IPN 阶段返回。

我使用的是 API 版本 98。

【问题讨论】:

【参考方案1】:

您无法创建自己的交易 ID。您在文档中看到的是响应将返回事务 ID。

DoExpressCheckoutPayment 将始终在 IPN 触发之前完成。事实上,DECP 就是触发 IPN 的原因。

如果您想传递您自己的某种自定义值,您需要在 DoExpressCheckoutPayment 请求中使用实际的 CUSTOM 参数。如果您在 SEC 中包含 CUSTOM 而不是 DECP,则它不会包含在最终付款明细中,也不会在 IPN 中返回。

【讨论】:

“你不能创建自己的交易 ID”——尽管我会说文档很不清楚,但我会认为这是事实。 link 上的“PAYMENTREQUEST_n_TRANSACTIONID”下。唯一提供上下文的词是“是”。顺便说一句,感谢您的帮助。 我明白你在说什么。我同意,这有点令人困惑。

以上是关于Paypal:快速结帐自定义 PAYMENTREQUEST_n_TRANSACTIONID 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何进一步自定义我的 Paypal 结帐页面?

WordPress 页面上 PayPal 按钮的 HTML / CSS 自定义

Paypal 结帐按钮未将自定义字段传递给 PIN 消息

Paypal REST API 和自定义结帐页面

PayPal 结帐按钮和自定义变量

具有自定义值的 Paypal 结帐表单[关闭]