サンプルコード機能
このセクションでは、3DSリクエスターデモプロジェクトのすべての機能を紹介します。弊社の3DSリクエスターにアクセスするには:
- こちらから3DSリクエスターデモのコードをダウンロードして実行するか、
- 弊社のオンラインのTestLabsリクエスターを使用してください。
以下に表示されているのは弊社の3DSリクエスターサイトのホームページです。 オンラインショップとテストページの2つのセクションがあります。オンラインショップはLaunch
ボタン(1.a)を選択する、もしくは左上のOnline shop
ボタン(1.b)を選択する事でアクセス出来ます。それぞれのテストページは関連ボタン(2.a)を選択する、もしくは左上のTest pages
ドロップダウン(2.b)を選択する事でアクセス出来ます。加えて、右上にActiveServer認証APIドキュメントへのAPI Document
のリンク(3)があります。
オンラインショップ¶
オンラインショップは、どのように3DS2を電子取引サイトに統合するかを加盟店視点で提供する、デモの加盟店のチェックアウトページです。統合の実装については、統合ガイドに従ってください。
商品をショップページ内のカートに追加してください:
Continue to Checkoutボタンを選択しチェックアウトページへ移動してください:
取引を完了するのに使用されるカード番号を含む、標準の支払いと請求の情報が予め入力されています。Continue to Checkoutボタンを選択して3DS2認証プロセスを開始してください:
注目
Checkoutボタンの右側にある矢印をクリックすると、3DS2認証プロセスを実行するAPIバージョンを選択できます。
3DSリクエスターが3DS2認証を実行している間、処理ページにスピナーが表示されます。3DS2認証が終了すると、結果が表示されます。
Show results in separate pagesを選択すると、新しいページが開き結果が表示されます。
テストページ¶
テストページでブラウザベース認証 (BRW)、3DS Requestor Initiated (3RI)、EnrolAPIドキュメントに定義されたすべてのパラメータで試験を実施できます。
BRWテストページ¶
基礎情報¶
BRWテストページにはBasic Info(基礎情報)
、Cardholder(カード会員)
、Additional Risk (追加リスク)
の3つのタブがあります。
Basic Info(基礎情報)
タブにはChannel(チャンネル)
、Required Field(必須項目)
、Additional Field(追加項目)
の3つのセクションがあります。
Channel (チャンネル)
では、アプリケーションに読み込まれている3DS Server URLとRequestor URL を確認する事が出来ます。テストに使用するディレクトリサーバーを選択することもできます。また、EMVプロトコルのメッセージバージョンも選択できます。
Required Field (必須項目)
では、カード番号、マーチャントID、認証インジケータ、Message Category を入力する必要があります。これらは3DS2ブラウザベース認証に必要なパラメータです。
カード会員¶
Additional Field (追加項目)
では、購入数量、金額、通貨、有効期限といった追加の情報を入力する事が出来ます。
GPayments TestLabsシナリオの使い方
カード番号 は、自分のカード番号を入力するか、もしくは予め設定された弊社のシナリオから選ぶ事が出来ます。例えば、VisaのFrictionless authentication、そしてカード番号4100000000000001がカード番号フィールドに自動的に入力されます。
Cardholder(カード会員)
タブでは、名前、住所、Eメール、電話番号を含むカード会員の情報を入力する事が出来ます。
追加リスク¶
Additional Risk (追加リスク)
タブでは、アカウント情報、リクエスターの認証情報、加盟店リスク情報のような追加のリスク情報を入力する事が出来ます。
加盟店リスク情報
この情報の提供は必須ではありません。しかし、イシュアーのACSは提供された情報が多いほどリスクベース認証の精度は上がり、フリクションレスのレートが高くなる可能性があります。なので、加盟店がこの情報を提供することは非常に重要です。
テストオプション¶
Test Options
タブでは、Cancel Challenge
チェックボックスをオンにすることで、ACSが取引に対してチャレンジを要求した場合にチャレンジをキャンセルすることを選択できます。チャレンジをキャンセルすると、 3ds-web-adapter
はiframe
でCReqコールバックページを実行しません。必要に応じて、challengeStatus
のエンドポイントを使用して、Cancel Reason (キャンセルの理由)
を指定し、ActiveServerにチャレンジをキャンセルした理由を通知します。
CReq Not Sent (CReqが送信されなかった) - 3DSリクエスターがチャレンジをオプトアウトすることを選択したため、チャレンジリクエストが開始されなかったことを示します。
CReqNotSent
のステータスをchallengeStatus
に送信します。Auth Result Not Delivered (認証結果が届かなかった) - チャレンジリクエストを3DSリクエスターに配信できなかったことを示します。例: 3DSリクエスターが認証リクエストを実行するとき(
/api/v1/auth/brw/
等)にActiveServerが応答しないなどの技術的なエラー等の理由。AuthResultNotDelivered
のステータスをchallengeStatus
に送信します。No Reason Sent (理由が送信されなかった) - 3DSリクエスターがチャレンジを開始せず、
challengeStatus
を呼び出さないシナリオをシミュレートします。キャンセル理由はActiveServerに送信されません。
最後に、チャレンジウィンドウサイズオプションを選択して、チャレンジウィンドウサイズを選択できます。これはACSへの認証要求に含まれ、加盟店のチェックアウトページに最適化された特定のサイズでカード会員にチャレンジページを表示するように要求します。
3RIテストページ¶
BRWテストページと同様に、3RIテストページにもBasic Info(基礎情報)
、Cardholder(カード会員)
、Additional Risk (追加リスク)
の3つのカードがあります。1つの違いは3RI Indicator
パラメータがRequired Field (必須項目)
内にあり、Additional Field (追加項目)
内に無い事です。
アプリテストページ¶
アプリのテストページは、アプリチャネルを使用して認証を開始します。アプリのテストページでは、アプリチャネル認証にハードコードされたFAReqを使用しています。このデータは、テストまたはデモのみを目的としています。本番認証の場合、アプリ認証リクエストは統合された3DS SDKによって開始される必要があります。
Enrolテストページ¶
カード番号とマーチャントIDのみがEnrolテストでは必要です。
テスト結果¶
テストページのどれか1つでTestXXXボタンを選択すると、process.html
移動します。すべての3DS2プロセスはprocess.html
ページで処理されます。3DS2プロセスが実行中の間はスピナーが表示されます。3DS2プロセスが完了すると、同じページ内に結果が表示されます。
例えば、BRW test
ページを選択し、そしてTest BRW
ボタンを予め入力された情報で選択すると、成功した応答を取得します。
もしくは、不正なパラメータをBRW test
ページ内で入力すると(例えばMerchant ID
に000
)、エラーを返します。
Javascriptを無効化したテスト¶
デモリクエスターには、Javascriptを無効化された環境用のデモコードがあります。テストするには、ブラウザでJavascriptを無効にする次に、インデックスページに移動します。
No-Script test
ボタンを選択すると、スクリプトなしのテストページにアクセスできます。このページの指示に従って、Javascriptを無効にしてデモトランザクションを実行します。
Javascriptを無効化した環境で認証を行う際のコードはデモリクエスターの以下のフロントエンドのコードから確認出来ます。
no_script.html
no_script_process.html
no_script_poll_result.html
no_script_results.html
Javascriptを無効化した環境で認証を行う際のコードはデモリクエスターの以下のバックエンドのコードから確認出来ます。
MainController
の/noscript
および/3ds-notify/noscript
エンドポイント/v2/auth/init/noscript
、/v2/auth/noscript
、/v2/auth/result/noscript/poll
、および/v2/auth/brw/result/noscript
エンドポイントAuthControllerV2`