Paypal IPN错误,地址中嵌入了换行符

Sha*_*nce 5 php paypal-ipn

所以,这对我来说是一个新的.我的Paypal IPN已经工作了一段时间,并且今天开始出现错误.

在回发期间使用PayPal进行验证(添加cmd = _notify-validate),PayPal响应者说"不,这不是来自我".这个特定条目唯一奇怪的是(我相信)用户指定地址的方式:

123地址街
#789

其他一切似乎都很正常,IPN处理程序正在非常愉快地处理其他通知.

有人见过这样的事吗?

Sha*_*nce 4

好的,我发现了我的错误,是的,它与地址中的换行符有关。

基本上我是这样做的:

foreach ($post_array as $name => $value) {
  $value = urlencode($value);
  $post_string .= $name . '=' . $value . '&';
}
$post_string .= "cmd=_notify-validate";
Run Code Online (Sandbox Code Playgroud)

当我还需要将 转换/n为 a时/r/n,如下所示:

foreach ($post_array as $name => $value) {
  $value = urlencode(str_replace("\n", "\r\n", $value));
  $post_string .= $name . '=' . $value . '&';
}
$post_string .= "cmd=_notify-validate";
Run Code Online (Sandbox Code Playgroud)

现在贝宝很高兴。

勒叹息。