txn_id 和 payment_status 使 PayPal IPN 独一无二?
txn_id and payment_status makes PayPal IPN unique?
我正在使用 PayPal IPN,我有以下问题:是否可以让两个 IPN 消息具有相同的 txn_id 和 payment_status 参数?
例如:
- IPN:txn_id=4BB79227HY951745W&payment_status=待定
- IPN:txn_id=4BB79227HY951745W&payment_status=idontknowwhat
- IPN:tnx_id=4BB79227HY951745W&payment_status=待定
- IPN:txn_id=4BB79227HY951745W&payment_status=完成
所以我的问题基本上是 txn_id 和 payment_status 一起使消息唯一,或者不是?
另一个例子:
如果我有一个 SQL 查询,例如:
SELECT * 来自 txn_id=4BB79227HY951745W AND payment_status=something
的交易
它可以 returns 多行吗? (如果由于缺少 200 OK 响应消息或响应时间慢或类似情况,我没有存储任何由 PayPal 重新发送的消息。)
我之前读过这个帖子:PayPal IPN unique identifier。这里听起来是这两个参数使消息具有唯一性,但我不确定。
我认为仅 txn_id
和 payment_status
不足以使 IPN 独一无二。由于在您的情况下您想要保存与给定交易相关的每个 IPN,因此您还应该检查 pending_reason
值:
假设您使用 Authorization - Capture
模型创建了一笔交易,并且您的交易经历了 Instant Payment Review (IPR)
。您将拥有类似 IPN 的内容:
IPN 1:TXN 进入 UNDER REVIEW (IPR)
[payment_status] => Pending
[txn_id] => 0CD48848U16230847
[pending_reason] => paymentreview
[txn_type] => express_checkout
[auth_status] => Pending
[ipn_track_id] => 8c7559d39005
IPN 2:TXN已通过IPR(注意pending原因有变化!)
[payment_status] => Pending
[txn_id] => 0CD48848U16230847
[pending_reason] => authorization
[txn_type] => express_checkout
[auth_status] => Pending
[ipn_track_id] => 8c7559d39005
我正在使用 PayPal IPN,我有以下问题:是否可以让两个 IPN 消息具有相同的 txn_id 和 payment_status 参数?
例如:
- IPN:txn_id=4BB79227HY951745W&payment_status=待定
- IPN:txn_id=4BB79227HY951745W&payment_status=idontknowwhat
- IPN:tnx_id=4BB79227HY951745W&payment_status=待定
- IPN:txn_id=4BB79227HY951745W&payment_status=完成
所以我的问题基本上是 txn_id 和 payment_status 一起使消息唯一,或者不是?
另一个例子:
如果我有一个 SQL 查询,例如:
SELECT * 来自 txn_id=4BB79227HY951745W AND payment_status=something
的交易它可以 returns 多行吗? (如果由于缺少 200 OK 响应消息或响应时间慢或类似情况,我没有存储任何由 PayPal 重新发送的消息。)
我之前读过这个帖子:PayPal IPN unique identifier。这里听起来是这两个参数使消息具有唯一性,但我不确定。
我认为仅 txn_id
和 payment_status
不足以使 IPN 独一无二。由于在您的情况下您想要保存与给定交易相关的每个 IPN,因此您还应该检查 pending_reason
值:
假设您使用 Authorization - Capture
模型创建了一笔交易,并且您的交易经历了 Instant Payment Review (IPR)
。您将拥有类似 IPN 的内容:
IPN 1:TXN 进入 UNDER REVIEW (IPR)
[payment_status] => Pending
[txn_id] => 0CD48848U16230847
[pending_reason] => paymentreview
[txn_type] => express_checkout
[auth_status] => Pending
[ipn_track_id] => 8c7559d39005
IPN 2:TXN已通过IPR(注意pending原因有变化!)
[payment_status] => Pending
[txn_id] => 0CD48848U16230847
[pending_reason] => authorization
[txn_type] => express_checkout
[auth_status] => Pending
[ipn_track_id] => 8c7559d39005