几周以来,我们一直在与 PayPal 支付标准表格问题作斗争。
我们多年来一直运行相同的代码,但注意到我们的较大发票(包含 20 多个项目)最近在提交给 PayPal 时出现白屏死机。沙盒中的测试和以前一样运行良好。
在到处搜索后,我找不到任何其他人遇到这个确切的问题,但注意到如果我们将发票从 60 项减少到 7 项,那么发票似乎可以正常通过。似乎是 PayPal 端的 POST 缓冲区问题?
我们发现的问题是存在502重定向问题https://www.paypal.com/cgi-bin/webscr https://www.paypal.com/cgi-bin/webscr到 URL 中包含 /hermes 或类似内容的新结帐页面。
我发现的答案是始终强制使用旧的结账系统
<input type="hidden" name="force_sa" value="true">
这是一个非常简单的例子,有 66 个项目http://www.whatsanip.com/paypal_bad.html http://www.whatsanip.com/paypal_bad.html这会遇到 WSOD,因为它正在尝试使用新的结帐,并且在重定向时似乎会遇到 502 错误
BUT
add
<input type="hidden" name="force_sa" value="true">
输入后,我们将被发送到旧的结账系统,该系统运行得很好。查看与上面相同的 URL,但换入 _good.html 以查看坚持旧结账页面的良好版本(不允许我添加超过 2 个链接)
另一个怪癖是我的文本编辑器(Ultraedit)有一个内置的浏览器用于测试,如果从这里提交,那么它将正常进行旧的结账(我认为ultraedit正在使用旧的IE实现)。
这里有 PayPal 员工吗?我应该提交错误吗?如果有人能让 _bad.html 工作,我会非常感兴趣,因为已经花了很多时间来研究这个。