我正在改進PayPal IPN偵聽器。我已閱讀規格,但仍有一些未解決的問題。衆所周知,如果您收到通知,您必須在第二個渠道上連接PayPal,向他們發送收到的數據,PayPal將使用VERIFIED或INVALID進行回答。在某些情況下,PayPal會重新發送通知,直到收到我們的回覆。 PayPal有一個名爲「IPN歷史」的調試頁面。PayPal IPN - 如果響應無效,將發送什麼http狀態頭?
我至少有一次收到INVALID的場合,「IPN歷史記錄」顯示「已發送」的正常狀態。
問題1:PayPal沒有檢查我是否在第二個通道上連接它們以確定郵件是否正確發送是否正確?問題2:我假設PayPal看起來完全在它從我們收到的http狀態標題(例如「200 OK」),以決定在「IPN歷史記錄」中顯示什麼狀態。它是否正確?
問題3:我還假設PayPal只看http狀態標題以決定是否必須重新發送消息。那是對的嗎?
我收到INVALID的PayPal付款現在在PayPal中顯示爲正常付款。但稍後沒有另外通知。
Q4:我認爲這種行爲是一個內部的PayPal的問題,要做到這一點正確的方法是告訴貝寶,以便它發送其他通知在5分鐘後出現了錯誤。那是對的嗎?
Q5:如果是這樣,如果我收到INVALID以確保PayPal稍後重新發送通知,那麼我必須發送什麼http狀態頭返回給PayPal?
謝謝!
一些解釋:我們做了很多PayPal付款。通常他們工作正常。我們收到「INVALID」的時候,它應該真的被「驗證」,也許在一千個案例中有一次。我寫了一個測試腳本再做第二個通道驗證,完全相同的方式,因爲它以前做過,現在貝寶與「已檢查」響應爲是「無效」以前的案件。我認爲PayPal發送錯誤的狀態是因爲它們的內部計時問題。所以這是關於邊緣情況,以及如何告訴貝寶重新發送他們的信息。謝謝! – CruftyCraft