Apple Pay開発ガイド
お客様が当サービスにおいて Apple Pay® を開発するために必要な準備やテストに関する情報です。
Apple® の提供するサービスを直接利用する部分において、Appleの仕様は予告なく変更される可能性があります。
- Appleの提供するAPI・各種ツールおよび規約に関するドキュメントは、Appleの公式ドキュメントを必ずご確認ください。
- Apple Pay のロゴ利用、ボタンデザイン、決済時の表示メッセージについては、Appleの定めるブランドガイドラインに沿って実装してください。
詳細は「Apple Pay on the Web」ドキュメントのデザインガイドを参照してください。
Apple Payを開発するために必要な手続きと開発
マルチペイメントでApple Payを利用するにあたり、システム面で必要な手続きや開発事項は以下の通りです。
Apple Payの組み込みには、アプリ/Webブラウザ固有の準備 と 共通の準備 の両方が必要です。
共通
| No | 作業項目 | 作業する場所 | 備考 |
|---|---|---|---|
| 1 | Apple Developer Programへの登録 | Apple Developer | 有償のメンバーシップが必要です。 |
| 2 | Merchant IDの取得 | Apple Developer | |
| 3 | Apple Pay Certificateの取得 | Apple Developer | |
| 4 | Apple Pay Certificateの設定 | マルチペイメント管理画面 | 3で取得したMerchant Certificateをアップロードしてください。 |
| 5 | マルチペイメントAPI呼び出しの開発 | 加盟店様の開発 |
アプリでApple Payを実装する場合
| No | 作業項目 | 作業する場所 | 備考 |
|---|---|---|---|
| 6 | アプリケーションの開発 | 加盟店様の開発 |
WebブラウザでApple Payを実装する場合
| No | 作業項目 | 作業する場所 | 備考 |
|---|---|---|---|
| 7 | ドメイン認証 | Apple Developer | |
| 8 | Merchant ID Certificateの取得 | Apple Developer | |
| 9 | セッション開始処理の開発 | 加盟店様の開発 |
アプリ/Webブラウザいずれの場合も必要な準備
Apple Developer IDの取得
Apple Developer Program にサインアップし、有償のメンバーシップに登録してください。
すでに条件を満たす Apple ID をお持ちの場合は、そちらを利用できます。
マルチペイメントのために新規のDeveloperプログラム加入は不要です。
Merchant IDの取得
Apple Developer にて Merchant ID を取得してください。
Apple Pay Certificate の取得
Apple Payで利用する証明書を取得します。
取得の過程で、秘密鍵/公開鍵ペアの生成 を要求されます。
秘密鍵を紛失しないよう十分ご注意ください。
Apple Payをご利用になる際に、取得した証明書と秘密鍵のペアが必要です。
Apple Pay Certificate の設定
マルチペイメントのショップ管理画面にて、前項で取得した証明書と秘密鍵のペアをアップロードします。
鍵ペアは PKCS12形式 にまとめ、エクスポートパスワード を設定してください。
テスト環境でテスト用トークンを利用する場合、管理画面へのキーペアのアップロードは不要です。
マルチペイメントAPI呼び出しの開発
マルチペイメントの 決済API を実装してください。
アプリの場合に必要な準備
iOSアプリの開発
加盟店様の提供する iOS アプリケーションに、Apple Pay の実装を行ってください。
Webブラウザの場合に必要な準備
ドメイン認証
加盟店様のドメイン(Apple Payボタンを含む画面が表示されるドメイン)を、Apple Developer でドメイン認証してください。
SafariでApple Payのセッションを開始する際、このドメインが認証済みでないとセッションを開始できません。
Merchant ID Certificate の取得
Merchant ID Certificate は、Apple Payのセッション開始をAppleに要求する際、加盟店様の身元認証として利用される証明書です。
Apple Pay Certificate(決済データの暗号化に使用)とは別の証明書です。
それぞれ個別に取得が必要です。
セッション開始処理の開発
Webブラウザ上でセッションを開始するには、加盟店様サーバーからAppleの指定するURLを呼び出す必要があります。
この呼び出し処理を実装してください。
コーディング/テストに関する事項
Payment Requestオブジェクトの設定値
アプリまたはWebブラウザで PaymentToken を取得する際、以下の項目を設定してください。
| No | 項目 | 設定値 |
|---|---|---|
| 1 | supportedNetworks | 加盟店様のApple Payカード会社契約に基づき、利用可能なブランドを設定してください。 |
| 2 | merchantCapabilities | Webブラウザの場合:supports3DS、アプリの場合: PKMerchantCapability.Capability3DS を設定してください。 |
| 3 | currencyCode | "JPY"(日本円)のみ利用可能です。 |
テスト用トークン
テスト環境ではトークン復号化を実施しないでください。
テスト環境にテスト用トークンではない PaymentToken が残る可能性があるため、セキュリティの観点から推奨しません。
マルチペイメントの決済API呼び出しのテスト用に、トークンの文字列を提供いたします。アプリおよびWebブラウザの環境と、サーバー上のマルチペイメント呼び出しを別にコーディングする場合に、ご利用ください。
- パターン1:決済OK MASTER
- パターン2:決済OK JCB
- パターン3:決済OK Amex
- パターン4:決済OK VISA
- パターン5:決済NG MASTER (エラーコード:42C010000)
以下に、各パターンのテストトークンを記載します。
ご利用の際は、コピー&ペーストで、決済実行(ExecTranBrandtoken)APIのTokenパラメータに設定してください。
コピーの際に改行が入らないよう注意してください。
パターン1:決済OK / MASTERブランド
ewogICAgImhlYWRlciI6ewogICAgICAiZXBoZW1lcmFsUHVibGljS2V5IjogInRlc3RQdWJsaWNLZXkiLAogICAgICAicHVibGljS2V5SGFzaCI6ICJ0ZXN0S2V5SGFzaCIsCiAgICAgICJ0cmFuc2FjdGlvbklkIjogInRlc3RUcmFuc2FjdGlvbiIKICAgIH0sCiAgICAiZGF0YSI6ICJleUpoY0hCc2FXTmhkR2x2YmxCeWFXMWhjbmxCWTJOdmRXNTBUblZ0WW1WeUlqb2dJalV4TVRFeE1URXhNVEV4TVRFeE1URWlMQ0FpWVhCd2JHbGpZWFJwYjI1RmVIQnBjbUYwYVc5dVJHRjBaU0k2SUNJeU1qRXlNekVpTENBaVkzVnljbVZ1WTNsRGIyUmxJam9pTXpreUlpd2dJblJ5WVc1ellXTjBhVzl1UVcxdmRXNTBJam9pTVRBd01DSXNJQ0pqWVhKa2FHOXNaR1Z5VG1GdFpTSTZJQ0lpTENBaVpHVjJhV05sVFdGdWRXWmhZM1IxY21WeVNXUmxiblJwWm1sbGNpSTZJQ0lpTENBaWNHRjViV1Z1ZEVSaGRHRlVlWEJsSWpvaU0wUlRaV04xY21VaUxDQWljR0Y1YldWdWRFUmhkR0VpT2lCN0lDQWdJQ0p2Ym14cGJtVlFZWGx0Wlc1MFEzSjVjSFJ2WjNKaGJTSTZJQ0pFZFcxdGVVTkJWbFpCUVVGQlFVRkJRVUZCUVVGQlFVRkJRVUZCSWl3Z0lDQWdJbVZqYVVsdVpHbGpZWFJ2Y2lJZ09pQWlNRFVpSUNCOWZRbz0iLAogICAgInNpZ25hdHVyZSI6ICJ0ZXN0U2lnbmF0dXJlIiwKICAgICJ2ZXJzaW9uIjogIk1vY2siCn0KCg==
パターン2:決済OK / JCBブランド
ewogImhlYWRlciI6ewogICAiZXBoZW1lcmFsUHVibGljS2V5IjogInRlc3RQdWJsaWNLZXkiLAogICAicHVibGljS2V5SGFzaCI6ICJ0ZXN0S2V5SGFzaCIsCiAgICJ0cmFuc2FjdGlvbklkIjogInRlc3RUcmFuc2FjdGlvbiIKICB9LAogICJkYXRhIjogImV3b2dJbUZ3Y0d4cFkyRjBhVzl1VUhKcGJXRnllVUZqWTI5MWJuUk9kVzFpWlhJaU9pQWlNekV4TVRFeE1URXhNVEV4TVRFeE1TSXNDaUFpWVhCd2JHbGpZWFJwYjI1RmVIQnBjbUYwYVc5dVJHRjBaU0k2SUNJeU1qRXlNekVpTEFvZ0ltTjFjbkpsYm1ONVEyOWtaU0k2SWpNNU1pSXNDaUFpZEhKaGJuTmhZM1JwYjI1QmJXOTFiblFpT2lJeE1EQXdJaXdLSUNKallYSmthRzlzWkdWeVRtRnRaU0k2SUNJaUxBb2dJbVJsZG1salpVMWhiblZtWVdOMGRYSmxja2xrWlc1MGFXWnBaWElpT2lBaUlpd0tJQ0p3WVhsdFpXNTBSR0YwWVZSNWNHVWlPaUl6UkZObFkzVnlaU0lzSUFvZ0luQmhlVzFsYm5SRVlYUmhJam9nZXdvZ0lDSnZibXhwYm1WUVlYbHRaVzUwUTNKNWNIUnZaM0poYlNJNklDSkVkVzF0ZVVOQlZsWkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJJaXdLSUNBaVpXTnBTVzVrYVdOaGRHOXlJaUE2SUNJd05TSUtJQ0I5Q24wSyIsCiAgInNpZ25hdHVyZSI6ICJ0ZXN0U2lnbmF0dXJlIiwKICAidmVyc2lvbiI6ICJNb2NrIgp9Cg==
パターン3:決済OK / AMEXブランド
ewogImhlYWRlciI6ewogICAiZXBoZW1lcmFsUHVibGljS2V5IjogInRlc3RQdWJsaWNLZXkiLAogICAicHVibGljS2V5SGFzaCI6ICJ0ZXN0S2V5SGFzaCIsCiAgICJ0cmFuc2FjdGlvbklkIjogInRlc3RUcmFuc2FjdGlvbiIKICB9LAogICJkYXRhIjogImV3b2dJbUZ3Y0d4cFkyRjBhVzl1VUhKcGJXRnllVUZqWTI5MWJuUk9kVzFpWlhJaU9pQWlNemMxT1RnM01EQXdNREF3TURZeUlpd0tJQ0poY0hCc2FXTmhkR2x2YmtWNGNHbHlZWFJwYjI1RVlYUmxJam9nSWpJeU1USXpNU0lzQ2lBaVkzVnljbVZ1WTNsRGIyUmxJam9pTXpreUlpd0tJQ0owY21GdWMyRmpkR2x2YmtGdGIzVnVkQ0k2SWpFd01EQWlMQW9nSW1OaGNtUm9iMnhrWlhKT1lXMWxJam9nSWlJc0NpQWlaR1YyYVdObFRXRnVkV1poWTNSMWNtVnlTV1JsYm5ScFptbGxjaUk2SUNJaUxBb2dJbkJoZVcxbGJuUkVZWFJoVkhsd1pTSTZJak5FVTJWamRYSmxJaXdnQ2lBaWNHRjViV1Z1ZEVSaGRHRWlPaUI3Q2lBZ0ltOXViR2x1WlZCaGVXMWxiblJEY25sd2RHOW5jbUZ0SWpvZ0lrUjFiVzE1UTBGV1ZrRkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRWlMQW9nSUNKbFkybEpibVJwWTJGMGIzSWlJRG9nSWpBMUlnb2dJSDBLZlFvPSIsCiAgInNpZ25hdHVyZSI6ICJ0ZXN0U2lnbmF0dXJlIiwKICAidmVyc2lvbiI6ICJNb2NrIgp9Cg==
パターン4:決済OK / VISAブランド
ewogImhlYWRlciI6ewogICAiZXBoZW1lcmFsUHVibGljS2V5IjogInRlc3RQdWJsaWNLZXkiLAogICAicHVibGljS2V5SGFzaCI6ICJ0ZXN0S2V5SGFzaCIsCiAgICJ0cmFuc2FjdGlvbklkIjogInRlc3RUcmFuc2FjdGlvbiIKICB9LAogICJkYXRhIjogImV3b2dJbUZ3Y0d4cFkyRjBhVzl1VUhKcGJXRnllVUZqWTI5MWJuUk9kVzFpWlhJaU9pQWlOREV4TVRFeE1URXhNVEV4TVRFeE1TSXNDaUFpWVhCd2JHbGpZWFJwYjI1RmVIQnBjbUYwYVc5dVJHRjBaU0k2SUNJeU1qRXlNekVpTEFvZ0ltTjFjbkpsYm1ONVEyOWtaU0k2SWpNNU1pSXNDaUFpZEhKaGJuTmhZM1JwYjI1QmJXOTFiblFpT2lJeE1EQXdJaXdLSUNKallYSmthRzlzWkdWeVRtRnRaU0k2SUNJaUxBb2dJbVJsZG1salpVMWhiblZtWVdOMGRYSmxja2xrWlc1MGFXWnBaWElpT2lBaUlpd0tJQ0p3WVhsdFpXNTBSR0YwWVZSNWNHVWlPaUl6UkZObFkzVnlaU0lzSUFvZ0luQmhlVzFsYm5SRVlYUmhJam9nZXdvZ0lDSnZibXhwYm1WUVlYbHRaVzUwUTNKNWNIUnZaM0poYlNJNklDSkVkVzF0ZVVOQlZsWkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJJaXdLSUNBaVpXTnBTVzVrYVdOaGRHOXlJaUE2SUNJd05TSUtJQ0I5Q24wSyIsCiAgInNpZ25hdHVyZSI6ICJ0ZXN0U2lnbmF0dXJlIiwKICAidmVyc2lvbiI6ICJNb2NrIgp9Cg==
パターン5:決済NG / MASTERブランド
ewogImhlYWRlciI6ewogICAiZXBoZW1lcmFsUHVibGljS2V5IjogInRlc3RQdWJsaWNLZXkiLAogICAicHVibGljS2V5SGFzaCI6ICJ0ZXN0S2V5SGFzaCIsCiAgICJ0cmFuc2FjdGlvbklkIjogInRlc3RUcmFuc2FjdGlvbiIKICB9LAogICJkYXRhIjogImV3b2dJbUZ3Y0d4cFkyRjBhVzl1VUhKcGJXRnllVUZqWTI5MWJuUk9kVzFpWlhJaU9pQWlOVGs1T1RBd01EQXdNREF3TURBd01TSXNDaUFpWVhCd2JHbGpZWFJwYjI1RmVIQnBjbUYwYVc5dVJHRjBaU0k2SUNJeU1qRXlNekVpTEFvZ0ltTjFjbkpsYm1ONVEyOWtaU0k2SWpNNU1pSXNDaUFpZEhKaGJuTmhZM1JwYjI1QmJXOTFiblFpT2lJeE1EQXdJaXdLSUNKallYSmthRzlzWkdWeVRtRnRaU0k2SUNJaUxBb2dJbVJsZG1salpVMWhiblZtWVdOMGRYSmxja2xrWlc1MGFXWnBaWElpT2lBaUlpd0tJQ0p3WVhsdFpXNTBSR0YwWVZSNWNHVWlPaUl6UkZObFkzVnlaU0lzSUFvZ0luQmhlVzFsYm5SRVlYUmhJam9nZXdvZ0lDSnZibXhwYm1WUVlYbHRaVzUwUTNKNWNIUnZaM0poYlNJNklDSkVkVzF0ZVVOQlZsWkJRVUZCUVVGQlFVRkJRVUZCUVVGQlFVRkJJaXdLSUNBaVpXTnBTVzVrYVdOaGRHOXlJaUE2SUNJd05TSUtJQ0I5Q24wSyIsCiAgInNpZ25hdHVyZSI6ICJ0ZXN0U2lnbmF0dXJlIiwKICAidmVyc2lvbiI6ICJNb2NrIgp9Cg==