メインコンテンツまでスキップ
Markdownをコピー

コールバック/Webhook

リダイレクトとコールバック

リダイレクト

3Dセキュア認証処理やPay払いは、外部のサイトにリダイレクトします。
OpenAPIタイプでは全てのリダイレクト処理をHTTPメソッドGETで実現します。
当サービスから返る遷移先URLにリダイレクトする処理のサンプルです。

HTTPヘッダーを使って302リダイレクト

      HTTP/1.1 302 Found
Location: {redirectUrl}

meta refreshでリダイレクト

      <html>
<head>
<meta http-equiv="refresh" content="0; URL={redirectUrl}" />
</head>
</html>

コールバック

リダイレクト後は、お客様と遷移先のサイトの間で処理が行われます。
処理が終わると取引リクエスト時に設定した加盟店様のコールバックURLcallbackUrlに遷移します。
加盟店様のシステムで処理の結果を受け取れるようコールバックのエンドポイントをご用意ください。
お客様がブラウザを閉じるなど処理を中断した場合、コールバックはしません。
コールバックの呼び出し時のHTTPメソッドはGETです。
元の取引を特定するために、以下のパラメーターを送信します。
パラーメーターはJSON形式の文字列をBase64URLエンコードし、コールバックURLのクエリパラメーターpに設定します。
Base64URLデコードしてご利用ください。

パラメーター説明
accessId取引リクエスト時に返る取引ID
eventこのコールバックのイベントタイプ
TDS_CHARGE_FINISHED
 3Dセキュアの支払いにてautoAuthorization=trueの場合に返ります。
 取引照会(/order/inquiryAPIにて状態を確認し決済成否を判断してください。

TDS_VERIFICATION_FINISHED
 3Dセキュアの有効性確認にてautoAuthorization=trueの場合に返ります。
 取引照会(/order/inquiryAPIにて状態を確認し決済成否を判断してください。

TDS_FINISHED
 3Dセキュアの支払い・有効性確認にてautoAuthorization=falseの場合に返ります。
 3Dセキュア後の支払い(/tds2/finalizeChargeAPI
 3Dセキュア後の有効性確認(/tds2/finalizeVerificationAPIを実施してください

WALLET_CHARGE_FINISHED
 Pay払いの都度支払い(wallet/chargeAPIにて返ります。
 取引照会(/order/inquiryAPIにて状態を確認し決済成否を判断してください。

WALLET_APPROVAL_FINISHED
 Pay払いの利用承諾(/wallet/authorizeAccountAPIにて返ります。
 取引照会(/order/inquiryAPIにて状態を確認し決済成否を判断してください。

VERIFICATION_FINISHED
 本人確認の認証開始(/verification/startAPIにて返ります。
 照会(/verification/inquiryAPIにて状態を確認し認証成否を判断してください。
csrfToken取引リクエスト時に加盟店様が設定した任意の値
※加盟店様システムにてコールバック受け取り後にCSRF対策として
正当性を確認することを想定しています。文字数は最大36桁です。

例を以下に示します。

取引リクエスト時に加盟店様が設定したコールバックURL

      https://merchant.example.com/callback

コールバック時に当サービスにてBase64URLエンコードした値をクエリパラメーターに追加

      https://merchant.example.com/callback?p=eyJhY2Nlc3NJZCI6ImFjZGM3ZDUzZjdhNzhmNDg4ZDhkMDk5N2VmZjk5YzZmIiwiZXZlbnQiOiJURFNfQ0hBUkdFX0ZJTklTSEVEIiwiY3NyZlRva2VuIjoiYmRiMDRjNWYtNDJmMC0yOWUyLTA5NzktZWRhZTNlNzc2MGJmIn0=

上記pパラメーターの値をBase64URLデコードした結果

      {
"accessId":"acdc7d53f7a78f488d8d0997eff99c6f",
"event":"TDS_CHARGE_FINISHED",
"csrfToken":"bdb04c5f-42f0-29e2-0979-edae3e7760bf"
}

Webhook通知

処理された取引の結果を非同期で加盟店様に通知する機能です。
リクエスト時に設定した加盟店様のWebhook URLwebhookUrlにHTTPで送信されます。
加盟店様のシステムで通知を受け取れるようWebhookエンドポイントをご用意ください。

通知の対象

通知対象の処理は以下です。
通常は数秒から2時間程度以内に通知します。
通知内容は各リンク先を参照してください。

通知APIの仕様

Webhook通知APIの接続仕様です。

項目仕様
HTTPメソッドPOST
HTTPリクエストヘッダーの
Content-Type
application/json
リクエストボディーJSON形式

以下のIPアドレスから送信されます。
加盟店様システムにて接続制限をしている場合は、許可設定をお願いします。

環境送信元IPアドレス
テスト環境210.197.108.196
本番環境210.175.7.20

受信する加盟店様システムのSSLサーバー証明書によっては通信エラーになる可能性があります。
動作確認済みのSSLサーバー証明書は結果通知(Webhook)開発ガイドを参照してください。

通知への応答

Webhookを受信して正常に処理をした後は、HTTPステータス200番台を返してください。
レスポンスのボディは不要です。
200番台以外が返る場合は通知失敗と扱われ、リトライの対象になります。
リトライは一定間隔で正常応答をするまで最大5回送信されます。
間隔の初期設定は60分で、後述のとおり変更できます。

通知の設定

Webhookの通知を受けるためには、APIリクエスト時に加盟店様のWebhook URLをパラメーターmerchant.webhookUrlに設定します。
従来の「結果通知」とは異なり、事前にショップ管理画面から有効化する必要はありません。

ショップ管理画面にて以下の設定を変更可能です。

  • リトライ間隔: デフォルト60分である通知失敗時のリトライ間隔を変更
  • 結果通知停止時間: 加盟店様システムのメンテナンスにより結果通知を受け取れない時間帯を設定し、終了時刻後にまとめて通知

変更の方法は結果通知(Webhook)管理画面を参照してください。
「基本設定」、「SNI設定」など、上記以外の設定はOpenAPIタイプのWebhookには適用されません。

LLMですか?llms.txtllms-apis.txtに各ページの概要とリンクをまとめています。回答生成に活用してください。