2010-11-22 5 views
5

これは私にとって新しいものです。私のPaypal IPNはいつか働いていて、今日はエラーを出し始めました。アドレスに埋め込み改行がある場合のPaypal IPNエラー

PayPalで確認するために(cmd = _notify-validateを追加して)ポストバック中に、PayPalレスポンダは「私からではありませんでした」と言います。

123住所・ストリート他
#789

すべてが正常なようで、IPN-ハンドラは非常に他の通知を処理している。この特定のエントリに関する奇妙な唯一のものは、(私は信じている)ユーザーは自分のアドレスを指定された方法であります幸せに。

誰でもこのようなものを見たことがありますか?

+0

Apache/LinuxでのCodeIgniter for PHPの使用: (私はそれが関係しているとは思っていませんが、誰が知っていますか)。 curl_execによる転記。 –

答えて

4

私のエラーが見つかりました。はい、アドレスの改行に関連しています。

は基本的に私はこれをやっていた:

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

私もそうのように、/r/n/nを変換するために必要なとき:

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

今すぐPayPalが幸せです。

ル・シー。

0

私はちょうどこのバグで半日を過ごしました。

これは私も使用していますCodeIgniterのフレームワークが導入されたバグのように見える、CodeIgniterのは、新しい行にhttps://github.com/EllisLab/CodeIgniter/blob/2.1.4/system/core/Input.php#L707

を標準化しているこれはIPN応答を破るようだと上記の答えは、それを修正するための最良の方法です。

$value = urlencode(str_replace("\n", "\r\n", $value)); 
関連する問題