基本的に、PaypalAPIを使用する必要があります-
支払い後にレコードの更新を待つ必要がないことを指定しました。計画によっては、支払いが処理されたと想定することの危険性に注意する必要があります(処理される前に)。
誰かがあなたのシステムをだましてペイパルを使って支払いをしたと思わせる方法はたくさんあります(実際に支払いが失敗したとき、または詐欺を犯そうとしているとき)。
したがって、ペイパルで支払った後の戻り値に基づいてレコードを更新した場合、問題が発生する可能性があります。それで、支払いがOKになったことを知らない限り、私はあなたが指定した操作を個人的にはしません、そしてあなたはそれをどのように行いますか?
私はペイパルのIPNを使用します(これをPDTと組み合わせて、ユーザーの初期のインジケーター/情報を取得することもできます)。
- テスト用のペイパルサンドボックスアカウントを取得する-ここから
- ペイパルのPDTとIPNを使用するかどうかを決定します/ページをリダイレクトするだけの方法
- IPNコードを作成します(使用可能な変数はこれらを確認します)-ここからアイデアを取り入れます-このためのクラスは次の場所にあります:https ://github.com/Quixotix/PHP-PayPal-IPN
- IPNコード内で(検証および検証されたら)、ユーザー名/必要なデータベース内の他のものを安全に追加できます/ユーザーの支払いが成功したことを電子メールで送信します。
私のテストでは、通常、支払い後数秒以内に(ユーザーがリダイレクトされる前でも)IPNを受け取ります。ただし、IPNの処理に時間がかかる場合は、支払いの進捗状況をユーザーに知らせておく必要があります(PDTを使用できます)。このためのデータ)または単にpaypalからのリダイレクトページにメッセージを表示します。
ペイパルの終わりから通過することはたくさんありますが、それを段階的に実行する場合、それはそれほど苦痛ではありません。