PayPal IPN&PDTを実装しています。サンドボックスでの頭痛と時間の後、IPNは正常に機能し、PDTは正しい$_GETデータを返します。実装は次のとおりです。
- フォームのユーザーIDをPayPalに渡す
- ユーザーが製品を購入し、指定されたユーザーIDのデータベースを更新するIPNをトリガーします
- PDTは、ユーザーがサイトに戻ったときにトランザクションIDを返します
- リターンページに「お待ちください」と表示され、繰り返します-Ajax-トランザクションステータスを確認します
- ユーザーは成功/失敗ページにリダイレクトされます
PDT用のPayPal対応のPHPコードを使用してPOSTを返す場合を除いて、すべてが正常に機能します。ページがハングします。ユーザーが私のサイトに戻ることはありません。失敗ステータスは表示されません。何も表示されません。面白いことに、不明なエラーが発生すると、テストドメインが短期間応答しなくなります。
コード(PHP):https ://www.paypal.com/us/cgi-bin/webscr?cmd=p/xcl/rec/pdt-code-outside
POSTをコメントアウトすると、すべて正常に機能します。コードがwhile{}ループに入ると、問題を特定することができます。残念ながら、私はPayPalコードの代わりを最初から書くのに十分な経験がないので、何が間違っているのかについてのアイデアを本当にいただければ幸いです。
POSTバックはssl://www.sandbox.paypal.comに移動し、サンドボックステストアカウントを介してすべて作成されたボタンコードと認証トークンを使用しています。
前もって感謝します。
アップデート:
問題を次の行に絞り込みました。$line = fgets($fp, 1024);
それは単にハングし、理由はわかりません。