3-Dセキュア認証の処理の流れ
本ページでは、当システムを利用してクレジットカードの登録 または 決済のリクエストを行う場合の処理の流れを説明します。
既に3-Dセキュア認証済のトランザクショントークンを指定して課金を行う場合は認証がスキップされるため、以下の説明はトランザクショントークンを新規作成する場合のみ対象です。
3-Dセキュア認証を実行するタイミング
利用するトークンによって、3-Dセキュア認証を実行するタイミングが異なります。
使用するトークン種別 | 3-Dセキュア認証のタイミング |
---|---|
one_time (ワンタイムトークン)subscription (定期課金トークン) | 課金時 |
recurring (リカーリングトークン) | トークン作成時 |
課金処理のフロー図
課金時に3-Dセキュア認証を実行する場合
ワンタイムトークン,定期課金トークンを新規作成し、作成したトークンに対して課金を実行する場合のフローを説明します。
※課金作成のみAPIでの決済を利用している加盟店さまは4.以降を参照してください。
このトークンタイプで課金作成のみAPIを利用する場合、加盟店さまで3-Dセキュア認証を実行させる改修が必要になります。
トークンタイプをrecurring
に変更することで当システム提供の決済フォーム内で3-Dセキュア認証を自動で行うことができますので、その改修方法もご検討ください。

1.決済フォームを表示
消費者がカード情報を入力・送信できる画面を準備し、表示します。
2.カードデータを送信
消費者がカード情報を入力し、送信します。
注:PCI DSSに準拠していない加盟店さまは、当社が提供するインターフェース(リンクフォーム・ウィジェット・インラインフォーム)を利用して消費者のカード情報を取得する必要があります。
3.トークン作成のリクエストを送信
リクエストの詳細:トランザクショントークン – CREATE
※当システムが提供する決済フォームを利用している場合、APIで下記パラメータは指定できません。
各決済フォームに入力された情報が自動的に当システムに送信されます。
トークンタイプをワンタイム "type":"one_time"
または 定期課金 "type":"subscription"
に指定し、3-Dセキュア認証時に利用する下記パラメータを送信します。
※トークン作成後、4.課金 / 定期課金 作成のリクエストを送信 を5分以内に実行してください
- 電話番号の国コード
"data.phone_number.country_code"
- 電話番号
"data.phone_number.local_number"
- メールアドレス
"email"
- 任意:住所
"data.country"
,"data.state"
,"data.city"
,"data.line1"
,"data.line2"
4.課金 / 定期課金作成のリクエストを送信
リクエストの詳細:課金 – CREATE / 定期課金 – CREATE
3.で作成したトークンIDを指定し、3-Dセキュア認証時に利用する下記パラメータを指定し送信します。
- 任意:認証後のリダイレクト先のURL
"three_ds.redirect_endpoint":”<任意のURL>”
- 任意:3-Dセキュア認証のモード
"three_ds.mode":"<normal, require. force, skip のいずれか>"
- 指定しない場合、デフォルトで
normal
が指定されます - 認証を行わない場合、
skip
を指定してください - 認証を強制的に行う場合、
require, force
を指定してください
- 指定しない場合、デフォルトで
5.定期課金の場合のみ:課金IDを取得する
リクエストの詳細: 定期課金 – 課金 – LIST
4.で作成した定期課金IDを指定し、3-Dセキュア認証画面のURL(イシュアトークン)の取得時に利用する課金ID "id"
を取得します。
6.推奨:3-Dセキュア認証の準備完了まで、ステータスを確認し続ける
リクエストの詳細:課金 – GET
3-Dセキュア認証の準備完了まで課金のステータス "data.status"
を確認し続け、処理待ち pending
から待機中 awaiting
に変わったことを確認してから次のステップへ進みます。
7.課金の3-Dセキュア認証をリクエスト
当システムが3-Dセキュアセンターに対して3-Dセキュア認証のリクエストを送信し、3-Dセキュア認証を実行するための情報を取得します。
8.課金の3-Dセキュア認証画面のURL(イシュアトークン)を取得
リクエストの詳細:「課金-イシュアトークン(3-Dセキュア)-GET」 参照
7.で当システムが取得した3-Dセキュア認証を実行するための情報を取得します。
9.課金の3-Dセキュア認証画面を表示
取得した3-Dセキュア認証を実行するための情報を、イシュアトークン取得のレスポンスのコールメソッド "call_method"
に従い実行し、消費者に3-Dセキュア認証画面を表示させます。
10.課金の3-Dセキュア認証を実行
消費者が必要情報を入力し、3Dセキュア認証を行います。
その後、結果画面が表示されます。
11.指定したURLに遷移
3.でリダイレクト先 "three_ds.redirect_endpoint"
を指定した場合のみ、リダイレクト先のURLへ univapayChargeId
と univapayTokenId
に加えて、すべてのメタデータが自動的にクエリパラメータの一部として送信されます。
12.課金作成のリクエストを送信
5.で加盟店さまから受け取ったリクエスト内容を基に、当システムからカード会社へ課金のリクエストを行います。
13.推奨:課金完了まで、ステータスを確認し続ける
リクエストの詳細:課金 – GET / 定期課金 – GET
課金情報を取得し続け、ステータス "status"
が下記のいずれかに変化して課金完了を確認できたら、次のステップへ進みます。
- 課金の場合:
successful
,failed
,error
- 定期課金の場合:
unconfirmed
,canceled
,current
14.課金 / 定期課金 の結果画面を表示
確認した結果に合わせて、課金完了画面を表示してください。
トークン作成時に3-Dセキュア認証を実行する場合
リカーリングトークンを新規作成し、作成したトークンに対して課金を実行する場合のフローを説明します。
※課金作成のみAPIでの決済を利用している加盟店さまは10.以降を参照してください。

1.決済フォームを表示
消費者がカード情報を入力・送信できる画面を準備し、表示します。
2.カードデータを送信
消費者がカード情報を入力し、送信します。
注:PCI DSSに準拠していない加盟店さまは、当社が提供するインターフェース(リンクフォーム・ウィジェット・インラインフォーム)を利用して消費者のカード情報を取得する必要があります。
3.トークン作成のリクエストを送信
リクエストの詳細:トランザクショントークン – CREATE
※当システムが提供する決済フォームを利用している場合、APIで下記パラメータは指定できません。
各決済フォームに入力された情報が自動的に当システムに送信されます。
トークンタイプをリカーリング "type":"recurring"
に指定し、3-Dセキュア認証時に利用する下記パラメータを送信します。
- 電話番号の国コード
"data.phone_number.country_code":
- 電話番号
"data.phone_number.local_number"
- メールアドレス
"email"
- 任意:住所
"data.country"
,"data.state"
,"data.city"
,"data.line1"
,"data.line2"
- 任意:認証後のリダイレクト先のURL
"three_ds.redirect_endpoint"
- 任意:3-Dセキュア認証の有効 / 無効
"data.three_ds.enabled":"<true, false のいずれか>""
- 指定しない場合、デフォルトで
true
が指定されます - 認証を行わない場合は
false
を指定してください
- 指定しない場合、デフォルトで
レスポンスで、ステータス "data.three_ds.status":"pending"
が返却されます。
4.3-Dセキュア認証の準備完了まで、ステータスを確認し続ける
リクエストの詳細:トランザクショントークン – GET
トークン情報を取得し、ステータス "data.three_ds.status
” が処理待ち pending
から待機中 awaiting
に変わったことを確認し、次のステップへ進みます。
5.トークン作成の3-Dセキュア認証をリクエスト
当システムが3-Dセキュアセンターに対して3-Dセキュア認証のリクエストを送信し、3-Dセキュア認証を実行するための情報を取得します。
6.トークン作成の3-Dセキュア認証画面のURL(イシュアトークン)を取得
リクエストの詳細:「トランザクショントークン-イシュアトークン(3-Dセキュア)-GET」
取得した3-Dセキュア認証を実行するための情報を、イシュアトークン取得のレスポンスのコールメソッド "call_method"
に従い実行し、消費者に3-Dセキュア認証画面を表示させます。
7.トークン作成の3-Dセキュア認証画面を表示
消費者に3-Dセキュア認証画面を表示させます。
8.トークン作成の3-Dセキュア認証を実行
消費者が必要情報を入力し、3Dセキュア認証を行います。
その後、結果画面が表示されます。
9.指定したURLに遷移
3.でリダイレクト先 "three_ds.redirect_endpoint"
を指定した場合のみ、リダイレクト先のURLへ univapayTokenId
およびすべてのメタデータが自動的にクエリパラメータの一部として送信されます。
10.課金 / 定期課金作成のリクエストを送信
リクエストの詳細:課金 – CREATE / 定期課金 – CREATE
3.で作成したトークンIDを指定し、課金 / 定期課金 作成のリクエストを行います。
レスポンスで、それぞれステータス "status":"pending"
/ "status":"unverified"
が返却されます。
11.推奨:課金完了まで、ステータスを確認し続ける
リクエストの詳細:課金 – GET / 定期課金 – GET
課金情報を取得し続け、ステータス "status"
が下記のいずれかに変化して課金完了を確認できたら、次のステップへ進みます。
- 定期課金の場合:
unconfirmed
,canceled
,current
- 課金の場合:
successful
,failed
,error
12.課金 / 定期課金 の結果画面を表示
確認した結果に合わせて、課金完了画面を表示してください。