2013-10-16 21 views
1

從IPN獲得的哪些信息應該保存在本地數據庫中?從我應該存儲在本地數據庫中的貝寶事務中獲取什麼樣的數據?

$_POST['txn_id']字段是唯一需要確保您從貝寶重新收回所有交易信息的字段嗎?還是插入從IPN/PDT回發獲得的所有信息更好?

基本上我試圖找出我需要存儲萬一有交易問題和/或用戶投訴的信息。

+0

貝寶集成手冊將幫助。存儲付款參考信息,相應的用戶信息。那麼,這取決於你 – Keerthivasan

回答

0

不,txn_id是不夠的。根據貝寶提供的文件Introducing IPN頁面

確認IPN不重複。爲此,請在 數據庫中保存每個IPN消息中的 交易ID和最後付款狀態,並驗證這些字段的當前IPN值是否爲 尚不在此數據庫中。注意:您不能單獨依靠交易編號 來篩選重複項目,因爲此業務情景顯示:1)PayPal 會向您發送IPN,通知您未結算的付款。 2)稍後PayPal 向您發送第二個IPN,告訴您付款已完成。 但是,兩個IPN都包含相同的事務ID;因此,如果您的 僅使用交易ID來識別IPN,則您會將 「已完成支付」IPN視爲重複項。

在最低限度,根據這一點,你需要故事事務ID最後付款狀態。如果您收到的差異付款與您認爲應該收到的差額相比較,則存儲您可能需要用PayPal進行審計的信息也是一個不錯的主意。

+0

感謝您的回答,根據paypal文檔和您的答案我正在實施一個系統,它存儲我接收到的每個IPN的數據,並將其與特定用戶購買相關聯,當交易狀態更改_completed_或其他狀態,然後我繼續更新相對用戶本地數據。這使我可以跟蹤每個用戶的每個事務更新,並對待處理/已完成的事務有一個完整的概述。 –

相關問題