我正在使用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