首页 文章

PayPal Sandbox Classic API Express Checkout NVP内部服务器错误(500)

提问于
浏览
6

Quick Summary

我'm developing an e-commerce site using PHP. It uses PayPal to make payments. I have been successfully using (from sending the request string via SetExpressCheckout to DoExpressCheckoutPayment to GetExpressCheckoutDetails to storing payment details in the MySQL database) PayPal'沙盒模式与他们的经典API快速结账(NVP)从去年年底到现在 . 直到昨晚一切正常,并且没有对网站的PayPal部分进行重大更改 . 现在,我在每个付款请求时都会收到"Internal Server Error" https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[TOKEN] .

Walkthrough

What I see

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.

Why I can't find an answer

  • 通用"Internal Server Error"消息意味着我不知道从哪里开始查找,因为我不确定问题是否与我(这是我的默认假设)或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 = ['detailed error message'])来解决 . 这里没有错误消息,因为它注册成功 .

  • 我尝试更改API凭据并获取标准安全标头错误(然后我切换回来,错误消失并返回重定向时的内部服务器错误) .

  • 我试过修改请求字符串,但我觉得相信不是问题,因为当我故意弄乱它时,我得到标准的错误信息 .

2 回答

  • 2

    在通过日志向PayPal报告此问题后,他们通过确认这是他们已知的问题作出回应 .

    亲爱的Philip,感谢您与PayPal Merchant技术服务部门联系,了解沙盒环境中的内部服务器错误 . 这是目前正在调查的一个已知问题,希望很快就会得到解决 . 当我确认问题得到解决时,我会通知您 . 谢谢 . 此致,Mike Merchant技术支持PayPal,eBay公司

    Update from PayPal:

    亲爱的菲利普,Sandbox问题现在应该得到解决,你不应该看到内部服务器500错误 . 如果您有任何其他问题,请告知我们,https://www.paypal.com/mts此致Mike Merchant技术支持PayPal,eBay公司

    我已经测试过它确实看起来很复杂 .

  • 2

    内部服务器错误意味着PayPal服务器内部 . 这是PayPal的“帮助!我放弃了!”错误信息 .

    这并不排除有可能出现错误,导致PayPal的代码偏离绿色路径并进入被熊吃掉的树林,但无论如何:按错误页面说明并联系PayPal支持 . 他们应该能够查找您的相关ID并查看发生的情况 . 然后,他们可以让您知道您是否可以通过更改结果或者您的代码是否全部好并且100%是他们的问题来解决问题 . 然后他们可以改进他们的代码,以便下一个可能与您的错误相似的人得到更好的反馈 .

    (虽然如果这样的页面通常显示给您的客户,而不是您,PayPal通常只提供相对一般的失败消息 . )

    还有一些其他的事情我会检查你是否想要在等待PayPal回复你的时候再多做一点:你确认API似乎实际上正如它声称的那样工作 . 要检查的明智之举,但错误是在网络重定向上,所以请关注:如果你传递一个已知伪造的令牌,你会得到什么?在另一台计算机上或清除cookie后会发生什么?如果您尝试使用同一对账户进行按钮付款(不是快速结账),您会得到什么?

相关问题