Paypal:Express Checkout 自定义 PAYMENTREQUEST_n_TRANSACTIONID 不工作

Paypal: Express Checkout custom PAYMENTREQUEST_n_TRANSACTIONID not working

TL;DR 版本

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

完整版(先阅读以上内容)

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

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

我正在使用 API 版本 98。

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

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

如果您想传递您自己的某种自定义值,您需要在 DoExpressCheckoutPayment 请求中使用实际的 CUSTOM 参数。如果您在 SEC 中包含 CUSTOM 但不包含 DECP,则它不会包含在最终付款详细信息中,也不会 return 在 IPN 中编辑。