我正在使用PayPal IPN,我有以下问题:是否有可能拥有两个具有相同txn_id和payment_status参数的IPN消息?txn_id和payment_status使PayPal IPN独一无二?
例如:
- 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 * FROM交易WHERE txn_id = 4BB79227HY951745W AND PAYMENT_STATUS =东西
将其与一个以上的行返回? (如果我没有存储由PayPal重新发送的任何消息,因为缺少200 OK响应消息或响应时间较慢或类似此类情况。)
我之前阅读过此主题:PayPal IPN unique identifier。这听起来是这两个参数使消息独一无二,但我不确定。
恕我直言,这不是关于“唯一性”本身,因为IPN是交易的消息服务(在**改变状态**)。它甚至具有“IPN协议”(https://developer.paypal.com/webapps/developer/docs/classic/ipn/integration-guide/IPNIntro/#protocol_and_arch)中所述的“重试”,这在答案中讨论过您引用/链接到的帖子。 – EdSF 2015-04-04 16:14:54
谢谢你的回答。我理解这一点,但我想存储与交易相关的所有内容,但我不想多存储一次。因此,在将交易数据保存到我的数据库之后,我必须知道是否发送了新的IPN消息,因为该事务“更改了”,或者由于某种原因而被PayPal IPN服务重新发送。 – bazsibazsi 2015-04-04 16:26:10