【问题标题】:Paypal IPN Transaction ID'sPaypal IPN 交易 ID
【发布时间】:2011-09-12 23:48:00
【问题描述】:

这可能是疲劳状态,但我对在 IPN 交易中使用交易 ID 有点困惑。

我了解 PayPal 会分配一个交易 ID 并将其与所有其他 gumf 一起发回。但是,它还指出,单个交易可能会生成多个 IPN 消息(即,当付款状态从 PENDING 变为 CONFIRMED 时)。在这种情况下,可能会收到多条具有相同事务 ID 的消息。

我对所有提供的样本感到困惑(由 PayPal 自己以及 PayPalTech 提供)。我见过的每个脚本只处理通过 IPN 收到的第一条消息 - 如果事务 ID 已经存在(尤其是在将 IPN 事务写入数据库时​​),那么它实际上会被忽略。

如果是这种情况,他们是否不会错过那些开始 PENDING 然后变成 CONFIRMED 的交易?

我是否遗漏了什么,或者只是让事情变得比需要的更复杂?

【问题讨论】:

    标签: paypal paypal-ipn


    【解决方案1】:

    例如,当您使用信用卡为购买提供资金时,会生成额外的交易 ID。因此,有一个 TransId 用于向 CC 收费,另一个 TransId 用于将钱发送给接收方。但是接收者只看到“他的”TransId,而不是 CC 相关的。所以总会有一个 TransId 返回。当交易状态发生变化(待定/确认等)时,交易 ID 不会改变。

    【讨论】:

    • 这就是我的观点。如果是这种情况,示例脚本是否会忽略任何新消息,因为它们具有相同的事务 ID?这些脚本都会检查数据库中是否已经存在事务 ID。如果是这样,他们什么也不做。检查交易ID和交易状态是否相同会更好吗?
    • 如果 TransId 已经存在,那么再次存储它是没有意义的。但是,如果未确认,重新查询状态可能是有意义的。但是大多数示例不能很好地处理错误情况。
    • 好吧,我就是这么想的。真的只是健全性检查。干杯@Haukman
    猜你喜欢
    • 2012-11-02
    • 2011-11-17
    • 2011-12-18
    • 2020-10-25
    • 2011-09-03
    • 2012-03-05
    • 2012-07-08
    • 2012-11-16
    • 1970-01-01
    相关资源
    最近更新 更多