0

私は IPN シミュレーターで 403 を受け取ります。私のサイトはオンラインで (ローカルホストではありません)、paypal_lib ライブラリーを使用しています。何が原因でしょうか?

これは IPN シミュレーターからのメッセージです: IPN 配信に失敗しました。HTTP エラー コード 403: 禁止されています

4

2 に答える 2

1

PayPal ではなく、AlertPay を使用した場合を除いて、同じ悪夢を経験したところです。問題が似ている可能性があります。

結局のところ、少なくとも私の場合、403 Forbidden コードは非常に誤解を招くものです。ボタンコードにエラーがありました。同じ引数を 2 回使用していました。別のカスタム引数を追加するためにカスタム引数行をコピーしましたが、引数の名前を変更するのを忘れていました。

そのため、重複した引数でボタンを送信していたところ、403 Forbidden エラーが発生しました。間違った場所をすべて調べることになったので、あまり役に立たないエラーです。私もipnリスナーの権限の問題だと思っていましたが、それとは何の関係もありませんでした。

関連する問題として、これを解決した後、500 (Internal Server Error) が発生し始めました。この 500 エラーは、私の別のコーディング エラーであることが判明しましたが、今回は私の IPN リスナー スクリプトで発生しました。「休憩」を使用していました。許可されていない "if" ステートメント (PHP) 内のステートメント。技術的には構文エラーではないため、スクリプトはまだロードされており、コードは引き続き実行されていましたが、これは不正なステートメントであり、IPN で 500 内部サーバー エラーが発生していました。

うまくいけば、これは同じ問題を抱えている他の誰かを助けるでしょう。

于 2011-07-01T02:47:01.183 に答える
1

これにはまだ誰も答えていません - 403 禁止されているのは奇妙です。それを手に入れたSOのほとんどの人は、Django PayPal IPNライブラリを使用していて、CSRF認証に違反しましたが、CodeIgniterのインストールにはおそらくそのようなものはありません.

使用していた URL は確実に利用可能ですか (たとえば、サイトのパスワードで保護された部分ではありません)?

サイトをサンドボックスに接続し、サンドボックスからの IPN 呼び出しを有効にすることをお勧めします。これにより、何が起こっているかを正確に確認できます。また、CodeIgniter 用の代替 PayPal IPN ライブラリをリリースしました。これは、Paypal_Lib よりも多くのログを記録し、IPN を直接テストするためのデバッグ モードも備えています。お役に立てば幸いです:

https://github.com/orderly/codeigniter-paypal-ipn

于 2011-02-21T00:11:38.570 に答える