自7月1日起,我们开始从Paypal接收格式错误的IPN响应,其IPN底部的奇数字符串既不是VERIFIED也不是INVALID,而是类似非二进制符号。对于与付款相关的IPN和预先批准,这都是随机发生的。
如果我们尝试从Paypal IPN历史记录中重新发送IPN,有时它们会在第一时间从Paypal进行验证,那么有时我们必须重试多次。以前从未发生过,并且在我们这边的ipn验证脚本中没有发生任何变化,虽然该脚本很旧,但可以在大多数IPN上正常工作。
我们已经检查了端点,它是正确的: https://www.paypal.com/cgi-bin/webscr
我们已尝试重新发送其中一些格式错误的IPN,并且在重试一次或多次后,它们会正确通过验证。
当我们尝试使那些受影响的IPN在LIVE产品中得到验证时,我们得到的是一个错误的请求,因为受影响的IPN底部的这个奇数字符串而不是VERIFIED或INVALID响应:
‹TŽK,0„ïüŠ•»,M <Œ$¨ÄÔÇb› @,ûÐøïmáäe’Ùùvgɦ¸æ¬mJ8±s Í=««â-bU²#bÁŠ5Ù')by‰iDzû)é%ÞØÁŽ’Ò2.à&_NKpGŒtJ| ææþþQÞGd¦r:>Fj0r²ÀAØØžŒôÛçåF“²à&!µ±| é4`¨›ƒ,mþzø3úÿÿÎ[óâp>
答案 0 :(得分:3)
最后,贝宝(Paypal)刚刚得到一个“人为”的答案,并通过以下解决方法立即在此处与受此问题影响的人分享:
”感谢您与PayPal商家技术支持联系。对于您的延迟回复,我们深感抱歉。我确认您收到IPN错误HTTP / 1.1 400错误请求问题。请注意,这是PayPal中的已知问题,网址为目前,我们的相关部门正在为此工作。
...
此外,对于确认该交易的解决方法,您还可以执行以下操作。
调用GetTransactionDetails API查找此交易详细信息。 https://developer.paypal.com/docs/classic/api/merchant/GetTransactionDetails_API_Operation_NVP/
转到您的PayPal帐户以查看交易详细信息。
下载报告以查找此付款。
检查发送到您的邮箱***的有关此付款的通知电子邮件。
但是我们会及时通知您有关此IPN 400错误请求问题的更新信息。”
因此,目前这不是一个真正的解决方案,而只是一些可用于付款的解决方法(例如,这些解决方法不适用于尚无付款的预批准)。 我们甚至询问为什么这是一个已知问题,在paypal-status网站上没有任何内容,其中“通知”产品的市场为绿色且健康。当我们有一个实际的解决方案时,将会更新。
答案 1 :(得分:2)
二进制块是压缩的html-answer:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
我可以确认随机行为,稍后再发送确切的验证请求,我们将获得正确的验证答案。
很抱歉,没有将此信息添加为评论(<50名)。
答案 2 :(得分:1)
今天收到了贝宝(Paypal)商家技术支持的消息,说该问题已得到解决。昨天有人报告说,因此,它们正确接收了没有格式错误文本的IPN,请接受监控几天,然后再接受此解决方案。
干杯,菲尔。