統合チェックリスト

以下のチェックリストを使用して、ウェブ統合に必要な手順をすべて完了していることを確認してください。

テスト環境について

Google Pay API のテスト環境では、請求可能な支払い情報は返されませんが、購入ワークフローの要素をテストできます。テスト可能な要素は次のとおりです。

  • 確認ページ
  • 領収書
  • 請求先住所(オプション)
  • 請求先の電話番号(オプション)
  • 配送先住所(オプション)
  • メールアドレス(オプション)

テスト環境でサンプルの支払いデータのレスポンスを確認するには、environment プロパティが TEST に設定された JavaScript オブジェクトで新しい PaymentsClient を初期化します。

コードサンプルは次のとおりです。
var paymentsClient =
    new google.payments.api.PaymentsClient({environment: 'TEST'});

ブラウザのデベロッパー コンソールでテストする

対応ブラウザの最新バージョンを使用してウェブサイトをテストします。ブラウザのデベロッパー ツールを開き、ウェブサイトに関連するコンソール メッセージを確認します。メッセージには、Google Pay API JavaScript クライアント ライブラリからのエラーや警告が含まれています。Google Pay API でサポートされているブラウザは、Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Edge、Opera、UCWeb UC ブラウザです。

loadPaymentData() を呼び出した後、Google 支払い選択ダイアログ ウィンドウに別のエラーが表示される場合があります。エラー メッセージを確認した後に [続行] または [OK] をクリックすると、サイトによって処理された拒否 Promise で追加の詳細情報が返される場合があります。

互換性のあるデバイスでテストを行う

Google Pay API は多くの市場で利用できますが、トークン化されたカードを使用できるのは一部の国だけです。トークン化されたカードが許可されたお支払い方法として設定されている場合は、Chrome for Android バージョン 59 以降と Google Play 開発者サービス バージョン 16.0.0 以降がインストールされている Android デバイスでテストします。お支払い方法が、サービスを提供する国とカード会社でサポートされている場合は、カード情報を Google Pay アプリに保存してテストを行います。

Chrome for Android コンソールのエラーや警告を確認するには、Chrome for Desktop のリモート デバッグでテストを行います。エラーの詳細については、Android デバイスのログを確認してください。エラーログを見るには、Android Studio の Logcat ツール ウィンドウまたは adb logcat コマンドライン ツールを使用します。Android のバグレポートでもエラーログを見ることができます。Google Pay API に関連するエラー メッセージを確認するには、WalletMerchantError を検索します。

コードサンプルは次のとおりです。

adb logcat -s WalletMerchantError

統合をテストする

TEST 環境用に構成された PaymentsClient で Google に統合の検証を申請する前に、以下に示す機能とブランドの各チェック項目について終了基準を満たしていることを確認してください。

1. 基本

カードまたは PAN 取引に対して自社で実施している既存のリスクチェックとリスク管理を Google Pay の取引にも適用している。Google Pay の検証と不正チェックはお客様独自のリスク管理プロセスに代わるものではありません。
リスク基準に基づき、通常のカード取引に対して 3D セキュア(ステップ認証)を選択的にトリガーする場合は、Google Pay PAN PAN_ONLY 取引の 3D セキュアをトリガーするためのリスク基準と同じものを使用するようにしてください。
Google の利用規約を読み、同意している。Google Pay API に登録するには、メールアドレスが Google アカウントに関連付けられていて、仕事用のメールアドレスが会社のドメイン(admin@myownpersonaldomain.com など)に関連付けられている必要があります。Google アカウント作成フローで、[代わりに現在のメールアドレスを使用] を選択して、メールアドレスを Google アカウントに関連付けてください。
Google Pay API から受け取ったデータは取引処理にのみ使用する。その他の目的に使用する場合は、ユーザーから別途明示的な同意を得る必要があります。
利用する決済代行業者が該当する国で支払いを受け入れているカード ネットワークとカード認証方法を確認する。
DIRECT tokenizationSpecification type の統合が完了したら、公開暗号鍵を毎年ローテーションし、Google Pay Business Console を使用して PCI 証明書を Google に提供する。PCI 証明書を発行できるのは、PCI Security Standards Council が認定し、認定事業者または認定審査機関が承認した第三者 / セキュリティ審査機関です。

2. ブランドテスト

Google が承認したアセットを使用し、ブランド ガイドラインのすべての要素を遵守している。
Google Pay 支払いボタンが、isReadyToPay() 関数を使用してユーザーが支払い可能かどうかを確認した後にのみ、サイトに表示されることを確認する。
表示された Google Pay 支払いボタンのサイズが同じページの他のボタンや要素と一致している。
表示される領域の背景色に基づいて適切なボタンを選択している。

3. 機能テスト

loadPaymentData()Google Pay 支払いボタンのクリックと同期して呼び出されることを確認し、ブラウザのユーザー アクティベーション動作によって Google Pay API が支払いシートを表示できるようにする。Google Pay 支払いシートがポップアップ ブロッカーによってブロックされないことを確認します。

PAN_ONLY のカード認証を使用した CARD のお支払い方法タイプをリクエストする場合は、次の手順に従って、ファイルに保存されたカードのテストを行います。

  1. 必要に応じて、ファイルに保存されたすべてのカードを pay.google.com から削除します。
  2. 統合に戻ります。
  3. [Google Pay] をクリックします。
  4. カード追加のオプションが表示されていることを確認します。
  5. parameters.allowedCardNetworks で定義されているサポート対象のネットワークからカードを追加します。
  6. 選択画面で、追加したカードにネットワークのロゴが付いていることを確認します。

次のテストは Chrome on Android にのみ適用されます。

CRYPTOGRAM_3DS のカード認証を使用した CARD のお支払い方法タイプをリクエストする場合は、次の手順に沿って、Android デバイスのトークンテストを行います。

  1. カード発行会社がサポートされていることを確認し、Google Pay Android アプリに取り扱っているカードを追加します。
  2. 統合に戻ります。
  3. Google Pay 支払いボタンをクリックします。
  4. 選択ツールに、追加したカードとそのカードアートが表示されることを確認します。

決済代行業者が 3D セキュアカード認証をサポートしていることを確認した場合は、Android デバイス トークンを Android ユーザーまたはカード所有者として使用できない場合でも続行できます。

配送先住所が必要な場合は、次のようなさまざまな完了状態で配送先住所の処理をテストします。

  • 「John」、「John Doe」、「Jane Doe Smith」など、さまざまな氏名の違いが構造化フィールドに正しく解析されることを確認する。
  • Google Pay API から返されたすべての住所行を正確に解析する。標準の購入手続きフローで通常収集される住所行の総数を超える可能性があります。
  • 住所として返された国の部分が、サイトでサポートされている配送先と一致することを確認する。配送制限を指定した場合は、Google の支払いシートで、サポートされていない配送先住所を入力し、配送制限が機能することを確認します。

支払いの承認のサポートを実装している場合は、以下を確認してください。

  • 支払いの認証が失敗した場合は、PAYMENT_AUTHORIZATION インテントを指定して ERROR transactionStatePaymentDataError を返す。

動的料金設定の更新を実装している場合は、次の手順を行います。

  • 支払いシートにカードと住所を同時に追加する。配送オプション、注文リスト、合計金額を更新する。
  • 配送先住所の追加と選択を行う。配送オプション、注文リスト、合計金額を更新する。
  • 配送オプションを選択する。注文リストと合計金額を更新する。
  • 配送先住所に利用可能な配送オプションがない場合は、SHIPPING_ADDRESS インテントを指定して PaymentDataError を返す。
  • 選択されている配送オプションが無効な場合は、SHIPPING_OPTION インテントを指定して PaymentDataError を返す。
  • 支払いの認証が失敗した場合は、PAYMENT_AUTHORIZATION インテントを指定して ERROR transactionStatePaymentDataError を返す。
電話番号が必要な場合は、請求先住所をリクエストする。その後、「+8005550100」、「18005550100」、「(800)555-0100」などの異なる形式を使用して電話番号を解析し、ウェブサイトでの保存状況を確認する。
Google Pay が他の第三者のお支払い方法と同等に表示されていることを確認する。
以前の購入手続きで Google Pay を選択したユーザー、およびウェブサイト内の支払い設定で Google Pay を指定したユーザーについて、そのユーザーのその後の購入で Google Pay がデフォルトのお支払い方法として選択されることを確認する。
取引を処理する前に、ユーザーに最終価格が表示されることを確認する。Google Pay API から受け取ったデータに基づいて請求金額が変わる場合、確認ページに最終価格を表示する必要があります。