php - 使用 PayPal IPN 将 payment_status 从 "Pending"更新为 "Completed"。它会重新发送 txn_id 吗?

标签 php paypal paypal-ipn

在他们用于处理 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/

相关文章:

Paypal IPN 唯一 ID

PayPal IPN 停止发送 mc_shipping 和自定义字段

paypal - 集成 Paypal 循环

php - Paypal IPN 使用立即购买按钮返回无效但使用 IPN 模拟器验证

php - 每日页面比例MySQL查询

paypal - 定期付款的远程信用卡存储(可能是 PayPal)

php - XmlHTTP请求 : "XML Parsing Error: no element found"

rest - PayPal REST API 支付状态的含义和原因

php - 图像无法正确保存

PHP - 显示表中最后 3 行 SQL 行(不起作用)