簡體   English   中英

PayPal Sandbox Classic API Express Checkout NVP內部服務器錯誤(500)

[英]PayPal Sandbox Classic API Express Checkout NVP Internal Server Error (500)

快速摘要

我正在使用PHP開發一個電子商務網站。 它使用PayPal進行付款。 我已成功使用(從通過SetExpressCheckout發送請求字符串到DoExpressCheckoutPayment到GetExpressCheckoutDetails以在MySQL數據庫中存儲付款細節)PayPal的Sandbox模式及其經典API快速結賬(NVP)從去年年底到現在。 直到昨晚一切正常,並且沒有對網站的PayPal部分進行重大更改。 現在,我在每次付款請求時都會在https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[TOKEN]上收到“內部服務器錯誤”。

演練

我看到了什么

Paypal SetExpressCheckout返回:

Array
(
    [TOKEN] => XX-XXXXXXXXXXXXXXXXX
    [TIMESTAMP] => 2015-03-28T20:27:25Z
    [CORRELATIONID] => XXXXXXXXXXXXX
    [ACK] => Success
    [VERSION] => 109.0
    [BUILD] => 15840636
)

上面列出的鏈接上的PayPal Sandbox錯誤消息:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@paypal.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

為什么我找不到答案

  • 通用的“內部服務器錯誤”消息意味着我不知道從哪里開始查找,因為我不確定問題是否與我(這是我的默認假設)或PayPal。
  • 大多數解決方案都指向生產和沙箱URL / API憑據之間的不匹配。 這不是問題。 我已成功使用Sandbox鏈接的Sandbox憑據已有一段時間了。
  • 我發現的所有PayPal內部服務器錯誤問題都是針對使用REST API(或使用IPN)的人員。 我使用Classic-API驅動的Express Checkout,我沒有看到任何debug_id返回或我如何得到它。
  • 過去的所有問題都可以通過查看返回的錯誤消息(ACK = Failure&L_ERRORCODE0 = ['some error code']&L_SHORTMESSAGE0 = ['short error message']&L_LONGMESSAGE0 = ['詳細錯誤消息'])來解決。 這里沒有錯誤消息,因為它注冊成功。
  • 我已嘗試更改API憑據並獲取標准安全標頭錯誤(然后我切換回來,錯誤消失並返回重定向時的內部服務器錯誤)。
  • 我已經嘗試過修改請求字符串,但我覺得這不是問題,因為當我故意弄亂它時,我得到標准的錯誤消息。

內部服務器錯誤意味着PayPal服務器內部。 這是PayPal的“幫助!我放棄了!” 錯誤信息。

這並不排除有可能出現錯誤,導致PayPal的代碼偏離綠色路徑並進入被熊吃掉的樹林,但無論如何:按照錯誤頁面說明並聯系PayPal支持。 他們應該能夠查找您的相關ID並查看發生的情況。 然后,他們可以讓您知道您是否可以通過更改結果或者您的代碼是否全部好並且100%是他們的問題來解決問題。 然后他們可以改進他們的代碼,以便下一個可能與您的錯誤相似的人得到更好的反饋。

(雖然如果這樣的頁面通常顯示給您的客戶,而不是您,PayPal通常只提供相對一般的失敗消息。)

還有一些其他的事情,我會檢查你是否想要在等待PayPal回復你的時候更多地工作:你確認API似乎實際上正如它聲稱的那樣工作。 要檢查的明智之舉,但錯誤是在網絡重定向上,所以請關注:如果你傳遞一個已知偽造的令牌,你會得到什么? 在另一台計算機上或清除cookie后會發生什么? 如果您嘗試使用同一對賬戶進行按鈕付款(不是快速結賬),您會得到什么?

在通過日志向PayPal報告此問題后,他們通過確認這是他們已知的問題作出回應。

親愛的菲利普,

感謝您與PayPal Merchant技術服務部門聯系,了解沙盒環境中的內部服務器錯誤。 這是目前正在調查的一個已知問題,希望很快就會得到解決。 當我確認問題得到解決時,我會通知您。 謝謝。

此致

麥克風

商家技術支持

PayPal,eBay公司

從PayPal更新:

親愛的菲利普,Sandbox問題現在應該得到解決,你不應該看到內部服務器500錯誤。 如果您有任何其他問題,請告訴我們, https: //www.paypal.com/mts

此致

麥克風

商家技術支持

PayPal,eBay公司

我已經測試過它確實看起來很復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM