2011-02-06 152 views
2

在真實(非沙箱)環境中,Paypal IPN使用payment_status = Completed發送POST數據。但是,當我試圖從PayPal獲得交易確認(使用CURL)時,我收到一個空字符串(不是「VERIFIED」或「INVALID」)。Paypal IPN返回空字符串而不是「VERIFIED」或「INVALID」

CURL不會返回任何錯誤。爲了在真實環境中確認,我使用https://www.paypal.com/cgi-bin/webscr(這是肯定的)。而且在沙盒中一切正常。

大約2個月前出現此錯誤。我注意到貝寶改變了網站的一點設計。也許確認過程也發生了變化。但是我沒有在文檔中找到任何更新。

有人遇到過類似的問題嗎?

回答

2

如果您收到空響應,請重試。如果所有重試失敗,發出500內部服務器錯誤,PayPal IPN服務器將在稍後重試。此外,您可能需要在收到空響應時記錄完整的服務器響應(包括標頭)。

+1

嗨Allesandro, `如果您得到空的答覆,只是重試。' 重試什麼? `如果所有重試都失敗,則發出500內部服務器錯誤,PayPal IPN服務器將在稍後重試。' 發送到哪個地址? 而最有趣的問題是(爲1 000 000美元):爲什麼Paypal IPN開始發送空回覆。以前一切都很好。 我更喜歡解決問題的根源,而不是結果。 你有答案嗎,亞歷山德羅?你遇到並解決了我上面描述的問題嗎?或者你只是發表一般意見? – 2011-02-25 14:24:26

0

遊戲遲到,但以防萬一其他人問。

我一直在解決這個問題幾個小時,並且正如我在這種情況下發生的那樣,PayPal要求您使用完整的URL進行IPN與沙盒測試。

例如,使用此URL「https://www.sandbox.paypal.com/cgi-bin/webscr」而不是「https://sandbox.paypal.com/cgi-bin/webscr」。你需要包含www或PayPal會給你一個空字符串。它不會返回INVALID,它不會驗證 - 它只是讓你一個空。

無論如何,它爲我工作。一旦我改變了這一切,一切都運轉良好。