私は最近、私のウェブサイトにPaypalのIPNを実装しようとしました。 ここで私は(サンドボックス)Paypal IPN、欠落したPOSTデータ
1撮影した手順は以下のとおりです。2つのサンドボックスアカウント(買い手/売り手)
2を作る:売り手のアカウントにIPNを有効にして、私のPayPalIPN.php
にURLを設定しますPayPalIPN.phpが
3:ボタンを作成し、ボタンは購入後はSuccess.phpに行く
はSuccess.phpはhttps://github.com/paypal/ipn-code-samples/blob/master/php/example_usage.php
です今私は、今すぐ購入をクリックして私のサンドボックスの購入アカウントにログインし、それを購入して、再び商人に私を取る押したときに、私はこのエラーを取得する
Fatal error: Uncaught Exception: Missing POST Data in /home/site/public_html/PayPalIPN.php:60 Stack trace: #0 /home/site/public_html/success.php(7): PaypalIPN->verifyIPN() #1 {main} thrown in /home/site/public_html/PayPalIPN.php on line 60
これは例外
をスローラインでありますif (! count($_POST)) {
throw new Exception("Missing POST Data");
}
私は本当にこれに困惑しています。私はここでこの問題に関して1つの質問しか見ていないし、Paypalのチュートリアルではこのエラーが発生したとき何が間違っているかは言及していない。私は私が間違った場所にあるURLの一部を使用していたようなので、それはそう
UPDATE任意の助けに感謝します。だから、私は 'paypalipn.php'にIPNクラスを持ち、paypalipn.phpを含む 'success.php'という別のファイルを持っていて、IPNクラスを使って検証済みかどうかを調べます。リスナーURLをsuccess.phpに設定しました。購入時には、ユーザーは 'purchased.php'にリダイレクトされます。私が抱えている問題はsuccess.phpが呼び出されないようです。それは単に動作しません..私はまた
notify_url=https://www.website.com/success.php
を使用して、[今すぐ購入]ボタンの変数にURLを設定しようとしたまだ呼ばれ得るように見えることはありません。私は本当に私が間違っていることを混乱しています...