Paypal:Express Checkout自定义PAYMENTREQUEST_n_TRANSACTIONID无效

时间:2015-02-03 23:04:11

标签: paypal paypal-ipn express-checkout

TL; DR版本

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

完整版(先阅读上文)

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

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

我正在使用API​​版本98。

1 个答案:

答案 0 :(得分:1)

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

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

如果要传递自己的某种自定义值,则需要在DoExpressCheckoutPayment请求中使用实际的CUSTOM参数。如果您在证券交易委员会中包括CUSTOM而不包括DECP,它将不会包含在最终付款细节中,也不会在IPN中退回。