IPN で問題が発生しました。非表示の入力「notify_url」に入力された URL が考慮されていません。
支払いを確認すると、自分のページにリダイレクトされます (隠しフィールド「return」)。
どうしたの ?
タク。
PS : テストのために、ファイル ipn.php (非表示の入力"notify_url"に入力された URL )に簡単なメール機能を入れました。
通知URLには外部からアクセスできる必要があります。つまり、ローカルホストは機能しません。ブラウザがアクセスできるため、リターンURLはマシン上で機能します。
Swiss Master の発言に加えて、IPN はアカウントで「オン」または「オフ」にする必要がありますが、「無効」にする必要はありません。
IPN が「オン」に切り替えられている場合、IPN データ用に PayPal プロファイルに URL を入力する必要があります (トランザクションごとに notify_url を送信することで、使用される URL をオーバーライドすることもできます)。
IPN が「オフ」に切り替えられている場合、すべてのアクティビティに対して IPN を受信するのではなく、トランザクション リクエスト自体で notify_url を送信したアクティビティに対してのみ IPN を受信します。
IPN が「無効」に設定されている場合、送信内容に関係なく、IPN メッセージはまったく生成されません。
PayPal が IPN ハンドラーから非 HTTP 200 応答コードを検出した場合、IPN は自動的に「無効」に設定されます。
(たとえば、HTTP 404、スクリプトのタイムアウト、スクリプトへのアクセス時の SSL エラー、HTTP 500 エラーなど)