私は最近、PayPals IPNを使って作業を始めました.IPN上のPayPalsページの一部を読み、ここからPHPソースを使用しました:https://developer.paypal.com/docs/classic/ipn/gs_IPN/、このコード全体が終了しました:PayPal IPN PHPハンドシェイクエラー
<?php
header('HTTP/1.1 200 OK');
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$header .= "Host: www.sandbox.paypal.com:443\r\n";
$fp = fsockopen ('ssl://www.sandbox.paypal.com', 443, $errno, $errstr, 30);
fputs($fp, $header . $req);
while (!feof($fp))
{
$res = fgets($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
} else if (strcmp ($res, "INVALID") == 0) {
}
fclose ($fp);
}
?>
私はPayPalのIPNシミュレータを使用する場合、それは
IPNは送信されませんでした、そしてハンドシェイクが確認されていなかったと言います。あなたの情報を確認してください。
PayPalのPHPドキュメントを正しく読み込んでいるように見えますが、このコードはうまくいくようですが、これは奇妙です。何が間違っている可能性がありますか?
この回答を確認http://stackoverflow.com/questions/32586711/ipn-was-not-sent-and-the-handshake-was-not-verified-please-review-your-informa –
あなたは末尾の二重 '\ r \ n'のヘッダーは最後に来ていませんか?あるいは、質問にコードをコピーする間違いですか? – bwoebi
@bwoebi何を待つ?私のコードはこのページのPayPalコードに基づいて作成されましたhttps://developer.paypal.com/docs/classic/ipn/gs_IPN/ – JeffCoderr