序章
実装ガイドの一連の文書では、シンプルな仮の加盟店決済サイトを使用して、バックエンド言語にJavaを使用した3DS2フロー組み込み手順を最初から一通り説明します。
加盟店決済サイトのサンプルは、Springbootプロジェクトを使用して作成されています。参考までに、HTMLページの作成には以下のものが使用されています。
加盟店決済ページのサンプルには、次の3つのページが含まれています。
index.html
- 購入する商品を選択するショッピングページ。checkout.html
- カード会員情報と処理画面が含まれた決済ページ。result.html
- 決済が成功したか否かを表示する決済結果ページ。
前提条件¶
このガイドを利用するための前提条件を以下に示します。
- Javaに関する必須知識
- webテクノロジーに関する必須知識(HTML、CSS、JavaScript)
- JDK 1.8
- 任意のIDE
- Apache Maven。インストールについてはhttps://maven.apache.org/install.htmlを参照してください。
- Gitクライアント
- アクティブ化され実行中のActiveServerインスタンス
サンプルコードの確認¶
3DSリクエスターのデモ用コードは次のGithubリポジトリ内にあります。
https://github.com/gpayments/3ds-requestor-springboot.git
サンプルコードを確認するには、ユーザーのローカル環境で次のコマンドを実行してください。
1 | git clone https://github.com/gpayments/3ds-requestor-springboot.git |
リポジトリのクローンを作成すれば、このチュートリアルに必要なすべてのデモ用コードを3ds-requestor-springboot
ディレクトリ内で見つけることができます。
サンプル加盟店サイトの実行方法¶
上記のGPaymentsのサンプルコードには、次の2つのディレクトリが含まれています。
- initial - 3DS2認証フローを実装していない加盟店決済ページのサンプル。
- final - 3DS認証フローを実装した最終的な加盟店決済ページ。このガイドにしたがって実装することで終了的に得られるのが、この最終的なコードです。
3DS 2.0認証機能が有効な加盟店サイトのサンプルを実行するには、以下の手順に従ってください。
ActiveServer Administrationからテスト用の加盟店クライアント証明書API クライアント証明書 (.p12 file)をダウンロードします(Administration UI -> Merchants -> Download Client Certificateと操作)。 最初にActiveServerをアクティブ化しておく必要があることに注意してください。
3DSリクエスターと3DSサーバーが相互に認証できるよう、ダウンロードした証明書(.p12ファイル)をファイルパス
/final/src/main/resources/certs
にコピーします。デモ用コードがp12ファイルをロードできるよう、証明書バンドルの名前をclient_certificate.p12
に変更します(ファイル名がハードコーディングされているため)。 アクティベーションや証明書のダウンロードに問題がある場合は、GPaymentsまでご連絡ください。ターミナル(Linuxの場合)またはコマンドプロンプト(Windowsの場合)を開き、
/final
ディレクトリに移動します。ルートディレクトリで次のコマンドラインを実行します。初回の実行時にはMavenが必要な依存関係をダウンロードするため、実行に数分かかる場合があります。
1 2 | cd final mvn spring-boot:run |
Note
上記のコマンドを実行する前に、Mavenがインストールされ使用可能な状態になっていることを確認してください。Mavenのインストールについては、https://maven.apache.org/install.htmlを参照してください。
Warning
Windowsでは、Javaネットワークアクセスに関するWindowsファイアウォールのセキュリティ警告が表示される場合がありますが、アクセスを許可して操作を進めてください。
http://localhost:8082にアクセスすると、サンプルのカートページを表示、確認できます。 いくつかの商品をカートに追加しデフォルトのカード会員情報を使用して決済する処理を試してみてください。
Note
ポート8082が使用中の場合はエラーになります。その場合は、次の行を[/resources/application.properties
]ファイルに追加してポートを設定します。
1 | server.port = # お好きなポート番号 |
Note
3DS 2.0認証機能のないデモオンラインショッピングサイトである初期状態のままで、プロジェクトを実行することもできます。 このような形で実行する場合は必ず、final
インスタンスを停止してください(すでに実行している場合)。そうでないとポート番号が競合してしまいます。
1 2 | cd initial
mvn spring-boot:run
|
Warning
サンプルのリクエスターコードはデモ専用でありHTTP上で動作しています。実際の状況ではHTTPSを使用しましょう。
パッケージの実行状態により、3DS2機能を有効または無効にした状態で決済処理が実行されます。
次のチャプター
nextボタンを選択し、3DSリクエスター用のフロントエンド実装についてご覧ください。