在他们用于处理 IPN 的 PHP 代码中的 PayPal 网站上,他们做了一些小的检查,然后就下一步要做什么发表了一些评论。
评论之一是
// check that txn_id has not been previously processed
表示如果已经处理了有问题。
当 payment_status 从“Pending”变为“Completed”时会发生什么,它肯定会发送相同的 txn_id 不是吗?您还可以如何识别交易并更新数据库中的记录以及为该特定 IPN 消息发布什么“txn_type”?
IPN 已经存在多年,但文档在大多数地方仍然非常模糊且解释不当。他们让您猜测在很多情况下会发生什么,而不是详细解释。
如果有任何帮助,我们将不胜感激。
最佳答案
交易ID应该是发生的交易的唯一id,你记下的逻辑是确保交易不重复(例如,不在系统中多次插入),交易更新应该具有相同的交易编号。因此,您应该检查交易 ID 是否存在,如果存在,则根据您认为合适的字段进行更新。
关于php - 使用 PayPal IPN 将 payment_status 从 "Pending"更新为 "Completed"。它会重新发送 txn_id 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819158/