在 TLS 1.2 沙箱更新之前一切正常。
但我已确认我的服务器使用的是 TLS 1.2。 Paypal 的TLS test是成功的。 而且我的IPN脚本可以正确接收到PayPal的握手和数据。
但是在发送回发数据时,总是无效,没有其他错误信息。 这是在使用 IPN 模拟器的沙箱中。
使用与 PayPal's example IPN listener for PHP 完全相同的代码.
我已经尝试了我能找到的所有 IPN 故障排除,包括:
- 将购买日期设置为 NULL
- 设置 curl_setopt($ch, CURLOPT_SSLVERSION, 6);
- 在 paypal 的设置中将 IPN 数据设置为 UTF-8
- 发送回传给https://ipnpb.sandbox.paypal.com/cgi-bin/webscr
- 使用 cmd=_notify-validate 和 file_get_contents('php://input') 发送数据
有什么想法吗?
最佳答案
联系了 PayPal,他们说他们的 IPN 模拟器不工作!
这是我最后一次假设像 PayPal 这样的大公司的主要开发工具不会被破坏和未报告。经常发生在他们身上。
“IPN 模拟器目前正在返回一个“verify_sign=undefined”响应。我们已告知我们的工程团队,他们将着手修复此工具。 如果您的 IPN 脚本没问题,那么触发 IPN 的测试付款也会确认。 对于造成的困惑和 IPN 模拟器无法正常运行,我们深表歉意。如果您愿意,我可以将您的问题单保留在我这里,直到我对模拟器进行更新,并且我可以在修复后通知您。”
关于php - PayPal IPN 收到数据,但回发无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50497949/