【发布时间】:2015-06-02 04:01:25
【问题描述】:
快速总结:
我正在使用 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] 收到“内部服务器错误”。
演练:
- 解析支付请求:“...&PAYMENTREQUEST_0_PAYMENTACTION=...”,
- 调用“SetExpressCheckout”,
- 获取 [ACK] => 成功(无错误 = 无 LONGMESSAGE),
- 重定向到提供的令牌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 凭据并收到标准安全标头错误(然后我切换回来,错误消失并返回到重定向时的内部服务器错误)。
- 我曾尝试修改请求字符串,但我确信这不是问题所在,因为当我故意将其弄乱时,我会收到标准错误消息。
【问题讨论】:
-
我也有同样的问题!也许是 Paypal 的问题!
-
我尝试了一个新测试:1) 运行 API 指南 found here (逐字) 中的示例 cURL 命令,2) 复制返回的令牌并将其粘贴到给出的链接的末尾同一指南的下一页(copy this link,将令牌添加到末尾),3)内部服务器错误
-
我也遇到了同样的问题。有趣的是,如果我在 SetExpressCheckout api 中指定 billing agreement 而没有任何付款细节,则不会发生内部服务器错误。我相信问题出在贝宝端。给他们发了一封电子邮件。仍在等待回复。
-
大家的问题都解决了吗? 2天前临时工作后,我似乎又遇到了类似的问题!
标签: php paypal paypal-sandbox express-checkout paypal-nvp