Paypal documentation says:
PayPal会发回一个单词,如果是,则验证为VERIFIED 如果存在任何差异,则使用PayPal或INVALID发起的消息 最初发送的内容
但是,我从Paypal收到以下IPN通知(注意:我正在使用Sandbox进行测试):
HTTP/1.1 200 OK
.... [removed headers for brevity]
Content-Type: text/html; charset=UTF-8
8
VERIFIED
0
VERIFIED之前和之后的数字8和0是多少?我的猜测8是VERIFIED字的长度,但这只是一个猜测。
更新正如PayPal_Robert正确指出的那样,这是因为HTTP分块传输编码。来自wikipedia page:
每个块的大小都是在块本身之前发送的 接收器可以告诉它何时完成接收数据 块。数据传输由最后一块长度终止 零。
答案 0 :(得分:1)
这是因为chunked HTTP data和常规fsockopen()
集成,包括响应中的这一点。
您可以应用trim()
来修剪它并专门查看INVALID / VERIFIED,或者从fsockopen()
切换到cURL(假设您正在使用PHP)。
就我个人而言,我建议您使用正确的HTTP库,如cURL而不是fsockopen(),因为它允许现在和将来更大的灵活性。