処理結果の通知と取得
本サービスとシステム連携して、注文や消費者のデータベースへ、支払い状態を反映する必要がある場合は、ウェブフックを受信してデータベースへの書き込みを行うプログラムを作成・設置してください。
ウェブフックの実行はベストエフォートであるため、対象のサーバや回線の状況によっては受信に失敗することがあります。
したがって、処理結果の判定をウェブフックで行うことは問題ありませんが、本来、処理結果を受信しているべきだが未受信ステータスの注文情報を、加盟店さまのデータベース上で検知した場合には、本サービスのAPIへ能動的に
へのリクエストを行い、補完することを推奨します。
コールバックを結果判定に用いる場合
ウィジェットまたはインラインフォームを利用する場合、ウェブフックだけでなく、処理の完了後に行われるJavaScriptのコールバックも結果判定に利用できます。
ただし、
- 処理中の消費者に回線の不調や断絶が起きた場合
- 処理中に加盟店さまのサーバや回線の不調やダウンがあった場合
には、受け取れない場合がありますので、ウェブフックと同様にGET/LISTによる補完をしてください。
また、以下についても注意してください。
課金の種類 | 処理結果の通知・取得方法 |
---|---|
定期課金subscription | 本サービス側で自動実行するため、結果の取得方法がウェブフックかGET/LISTリクエストに限定される |
リカーリングrecrring | APIへのリクエストで行われるため、結果の取得方法がレスポンス、ウェブフック、GET/LISTリクエストに限定される |
【重要】アクワイアラやセンター毎に異なる挙動
一部のアクワイアラ(カード会社)やセンター(カード会社と紐づくオンライン処理用のセンター)では、リクエストが行われた場合、処理がラグをもって段階的に行われることがあります。
特に、海外クレジットカード会社に接続している場合は、一般的に数分ほどのラグをもって処理が行われます。
当システムの仕様
当社からアクワイアラへリクエストを行った後、GETリクエストを定期的に行うことで結果を取得し、ステータスを反映する仕様です。
そのため、capture
、refund
、cancel
のリクエストを行った場合、ステータスが段階的に変化します。
返却されるステータスは、リクエストによって異なります。
リクエスト | 段階的に返却されるステータス |
---|---|
capture | pending 、authorized ※、successful / failed / error |
refund / cancel | pending 、 successful / failed / error |
※アクワイアラやセンターのメンテナンスや障害、通信状況などによってauthorized
の状態が続くことがあります。
また、決済フォーム(リンクフォーム / ウィジェット / インラインフォーム)より消費者が課金を行う場合、当社からアクワイアラへ課金リクエストが成功した時点で完了画面へ遷移する仕様です。
海外クレジットカード会社に接続している加盟店さまの実装方法
課金のGETリクエストやコールバックで課金が作成されたことを確認し、authorized
の確認をもって次の処理を実行する等、数分ほどのラグを考慮した実装を推奨します。
サービスや商品の提供は、継続的な課金のGETリクエスト(ポーリング機能の活用等)によってステータスが successful
に更新されたことを必ず確認してから行ってください。