サードパーティのシステムと相互作用して支払いを処理するサブスクリプションベースのWebサイトがあります。新規加入者登録を処理する手順は次のとおりです。
- 購読者は購読フォームに自分の詳細を入力し、送信ボタンをクリックします。
- 指定された詳細が有効であると仮定すると、これらの詳細を格納するためにデータベースに新しいレコードが作成されます。
- 次に、加入者は、支払いを処理するためにサードパーティシステム(paypalと同様)のWebサイトにリダイレクトされます。
- 支払いが成功すると、サードパーティのWebサイトは、サブスクライバーを当社のWebサイトにリダイレクトします。
- この時点で、支払いが成功したことを知っているので、データベースのレコードが更新され、支払いが正常に行われたことが示されます。
私が頻繁に発生している問題は、サブスクライバーが支払いをしたがプロセスを正しく完了しなかった場合(たとえば、バックブラウザーを使用したり、ウィンドウを閉じたりした場合)、データベース内のサブスクライバーのレコードが更新されないことです。したがって、記録を見ただけで支払ったかどうかはわかりませんが、サードパーティシステムからの報告を待ってこれを見つける必要があります。
この問題をどのように解決しますか?
PS。支払いプロセスが完了する前に詳細をデータベースに保存する主な理由の1つは、詳細を再入力せずに戻って支払いを完了することができるようにするためです。たとえば、サードパーティのシステムによってクレジットカードが拒否され、金融機関でこれを整理する必要がある場合は、時間がかかることがあります。