繁体   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