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 不起作用的主要内容,如果未能解决你的问题,请参考以下文章