Paypal:Express Checkout自定义PAYMENTREQUEST\u n\u交易ID不工作

Paypal:Express Checkout自定义PAYMENTREQUEST\u n\u交易ID不工作,paypal,paypal-ipn,express-checkout,Paypal,Paypal Ipn,Express Checkout,TL;DR版本 根据Express Checkout NVP Api文档,我可以使用PAYMENTREQUEST\u n\u TRANSACTIONID字段设置自己的交易ID。这对我来说从来都不起作用-来自“DoExpressCheckoutPayment”的响应总是返回一个不同的交易ID。文档没有说明它是否需要唯一(我认为是唯一的),也没有说明如何生成一个保证在Paypal方被接受为有效的ID。我该怎么做 完整版(先阅读上文) 我真的不需要创建自己的事务ID。如果我能确保在Paypal发布IP

TL;DR版本

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

完整版(先阅读上文)

我真的不需要创建自己的事务ID。如果我能确保在Paypal发布IPN之前完成对“DoExpressCheckoutPayment”的调用,那就好了。这是为了在发布IPN之前,我可以从“PAYMENTINFO\u n\u TRANSACTIONID”字段更新我的记录,然后使用IPN调用中的“txn\u id”更新我的记录

目前,在“SetExpressCheckout”阶段设置自定义事务ID在IPN阶段从未返回


我使用的是API版本98。

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

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


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

“您不能创建自己的交易ID”-我认为这是事实,尽管我会说文档非常不清楚。在上的“PAYMENTREQUEST\n\u TRANSACTIONID”下。提供上下文的唯一单词是“was”。顺便说一句,谢谢你的帮助。我明白你的意思了。我同意,这有点令人困惑。