我目前正在使用paypal的API來檢查使用IPN檢查的付款。 在如果支付驗證貝寶的檢查方法,有評論說:什麼是paypal api的txn_id,以及爲什麼應該檢查它,以及如何?
//檢查txn_id以前尚未處理
但我不明白什麼是部份txn_id,它所這樣做,爲什麼我需要檢查它以及如何。
在此先感謝,
我目前正在使用paypal的API來檢查使用IPN檢查的付款。 在如果支付驗證貝寶的檢查方法,有評論說:什麼是paypal api的txn_id,以及爲什麼應該檢查它,以及如何?
//檢查txn_id以前尚未處理
但我不明白什麼是部份txn_id,它所這樣做,爲什麼我需要檢查它以及如何。
在此先感謝,
這是一個唯一的交易ID,由PayPal生成。
將您的訂單連接到該訂單,並將貝寶報告與此訂單的結果返回給您。
您使用它來防止欺詐,例如,您做什麼,當您確認您的訂單正常時,您會讀取該號碼並搜索您的數據庫以查看這是否與其他訂單連接。如果你再次發現它,意味着潛在的欺詐行爲正在進行中,一些是從你那裏買東西,讓我們說5歐元的物品,幾個月後,試圖從你那裏訂購100歐元的物品,以及一些如何重播給你與舊的驗證狀態ID - 試圖重用舊的完整交易。但是因爲這個身份證號碼是獨一無二的,所以你會抓住他
要使用它,請將該ID與訂單的唯一ID相關聯,並保留該連接以進行檢查。
txn_id是分配給原始交易的PayPal分配的唯一標識符。
該交易的所有後續IPN消息將使用該txn_id,以便您可以將它們與原始消息綁定。確保使用它所應用的訂單的數據保存它。
的完成 IPN消息是你必須處理的只有一個,因爲它的消息,確認付款已完成。否則,爲什麼你需要擔心IPN呢?具有該消息的POST變量將具有足夠的客戶詳細信息供您用來生成發票和交付摘要/標籤。
您可以選擇處理其他IPN消息,但這取決於您想要編程多少。基本上,通過處理已完成的消息,可以順利處理大部分銷售。任何其他信息將與您將收到的正常電子郵件並行,您可能必須手動追查其他任何內容,例如退款或爭議。
爲什麼他們要求你檢查它以前沒有被處理,是不欺詐,而只是爲了確保你不要再處理完成 IPN消息,如多達五個可以發送到作爲IPN流程復原力的一部分,你將在一天之後。
例如,如果您發貨收到完成 IPN消息時,你不希望你得到另一個IPN 完成消息相同,再次向他們發出txn_id。
基本上,當你得到一個完成 IPN消息,您需要檢查您的訂單一個使用txn_id,如果發現,如果訂單已經被標記爲支付和已被處理,那麼你可以忽略該消息,否則,將其處理爲付款的訂單,並執行您通常付款後的操作。
退款之類都會有自己的txn_id,但他們的IPN消息將包括parent_txn_id,其持有的txn_id原始交易被退款。
請注意,貝寶希望您檢查其他返回的值是否正確,這些都是爲了欺詐。有些是:
哦我明白了,所以我需要製作一個數據庫表,其中包含從第一次付款插入的id並檢查每次付款時的id – Josi 2013-02-27 20:40:33
id是:int還是string? – Josi 2013-02-27 20:42:15
@Josi是19個字符長度的ID,這裏是一個:5DL77606L34173428 – Aristos 2013-02-27 20:44:48