2011-02-06 150 views
2

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

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

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

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

回答

2

如果您收到空响应,请重试。如果所有重试失败,发出500内部服务器错误,PayPal IPN服务器将在稍后重试。此外,您可能需要在收到空响应时记录完整的服务器响应(包括标头)。

+1

嗨Allesandro, `如果您得到空的答复,只是重试。' 重试什么? `如果所有重试都失败,则发出500内部服务器错误,PayPal IPN服务器将在稍后重试。' 发送到哪个地址? 而最有趣的问题是(为1 000 000美元):为什么Paypal IPN开始发送空回复。以前一切都很好。 我更喜欢解决问题的根源,而不是结果。 你有答案吗,亚历山德罗?你遇到并解决了我上面描述的问题吗?或者你只是发表一般意见? – 2011-02-25 14:24:26

0

游戏迟到,但以防万一其他人问。

我一直在解决这个问题几个小时,并且正如我在这种情况下发生的那样,PayPal要求您使用完整的URL进行IPN与沙盒测试。

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

无论如何,它为我工作。一旦我改变了这一切,一切都运转良好。