2

在真实(非沙盒)环境中,Paypal IPN 发送 POST 数据,payment_status = Completed。但是当我尝试从 Paypal 获得交易确认(使用 CURL)时,我收到一个空字符串(不是“VERIFIED”或“INVALID”)。

CURL 不返回任何错误。为了在真实环境中进行确认,我使用https://www.paypal.com/cgi-bin/webscr(这是肯定的)。此外,在沙盒中一切正常。

该错误出现在大约 2 个月前。我注意到贝宝改变了网站的一些设计。也许确认过程也发生了变化。但我没有在文档中找到任何更新。

有没有人遇到过类似的问题?

4

2 回答 2

2

如果您收到空响应,请重试。如果所有重试均失败,则发送 500 Internal Server Error 并且 PayPal IPN 服务器将稍后重试。此外,您可能希望在收到空响应时记录完整的服务器响应(包括标头)。

于 2011-02-23T11:13:48.060 回答
0

比赛迟到了,但以防万一其他人问起。

我已经对此进行了几个小时的故障排除,就像我的情况一样,PayPal 要求您使用完整的 URL 来使用 Sandbox 进行 IPN 测试。

例如,使用此 URL“ https://www.sandbox.paypal.com/cgi-bin/webscr ”而不是“ https://sandbox.paypal.com/cgi-bin/webscr ”。您需要包含 www 或 PayPal 将给您一个空字符串。它不会返回 INVALID 也不会验证 - 它只会让你空。

无论如何,它对我有用。一旦我改变了这一点,一切都已经启动并运行良好。

于 2015-05-26T13:55:22.457 回答