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

标签 php paypal paypal-sandbox express-checkout paypal-nvp

快速总结:

我正在使用 PHP 开发一个电子商务网站。它使用 PayPal 进行付款。从去年年底到现在,我一直在成功地使用(从通过 SetExpressCheckout 发送请求字符串到 DoExpressCheckoutPayment 到 GetExpressCheckoutDetails 到在 MySQL 数据库中存储支付细节)PayPal 的沙盒模式和他们的经典 API Express Checkout (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 沙盒错误消息:

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=['detailed error message'])。这里没有报错,因为注册成功了。
  • 我已尝试更改 API 凭据并收到标准安全 header 错误(然后我切换回来,错误消失并返回到重定向时的内部服务器错误)。
  • 我曾尝试修改请求字符串,但我确信这不是问题所在,因为当我故意弄乱它时,我收到了标准错误消息。

最佳答案

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

Dear Philip,

Thank you for contacting PayPal Merchant Technical Services about the internal server error on the sandbox environment. This is a known issue currently that is being investigated and hopefully will be resolved soon. I will let you know when I have confirmation the issue is fixed. Thank you.

Sincerely,

Mike

Merchant Technical Support

PayPal, an eBay Company

来自 PayPal 的更新:

Dear Philip, The Sandbox issue should be resolved now and you should not be seeing the Internal Server 500 error. If you haave any other issues please let us know, https://www.paypal.com/mts

Sincerely,

Mike

Merchant Technical Support

PayPal, an eBay Company

我已经测试过,它似乎确实已修复。

关于php - PayPal Sandbox Classic API Express Checkout NVP 内部服务器错误 (500),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29324172/

相关文章:

java.net.ConnectException : failed to connect to localhost/127. 0.0.1(端口 80):连接失败:ECONNREFUSED(连接被拒绝)

php - 我需要帮助找出为什么这段代码不起作用

Paypal - 付款成功后自动重定向?

paypal - 从 Paypal express 结账中删除送货地址

node.js - 接收 PayPal IPN 时未获取任何参数

php - PHP 中保持登录状态或用户登录时记住我的代码是什么

php - Zend Framework 和 Cubique 网格 - LEFT OUTER JOIN

php - Paypal 沙盒 SSL 握手错误

paypal - Adaptive Payments PayPal 不支持卡支付

paypal - 如何为 Paypal 沙箱登录页面设置语言?