ステップ 1: サンドボックスを設定する

サンドボックスは、Google ウォレットのアカウント管理サービスのテスト環境です。実際の ID ではなくテスト ID を使用するため、本番環境のデータに触れることなく統合を構築してデバッグできます。

デフォルトでは、Google ウォレットは、REAL ID が使われる本番環境モードで動作します。このステップでは、テストデバイスをサンドボックス モードに切り替え、サンドボックスのリクエストとレスポンスを処理するようにサーバーを構成します。

このページの手順

始める前に

ステップ A: テスト アカウントのサンドボックス アクセスをリクエストする

サンドボックスと本番環境を切り替えるオプションは、デフォルトでは非表示になっています。テストデバイスで切り替えを有効にするには、Google アカウントをサンドボックスの許可リストに追加する必要があります。

  1. Google ウォレットで使用する Google アカウントで、Google Pay サンドボックス アクセス リクエスト フォームに記入します。
  2. デジタル ID がまだ正式にリリースされていない国または地域でテストしている場合は、テスト アカウントの Gmail アドレスも wallet-identity-rp-support@google.com にメールで送信してください。

ステップ B: デバイスをサンドボックス モードに切り替える

  1. Android テストデバイスで設定アプリを開きます。
  2. 画面の一番上にある Google アカウント / プロフィール写真(名前と「Google サービスと設定」が表示されている部分)をタップします。
  3. プロフィールを選択する画面が表示された場合は、プロフィールを選択して [すべてのサービス] をタップします。
  4. [その他] のカテゴリに移動し、[TapAndPay Environment] をタップします。[TapAndPay Environment] が表示されない場合は、デバイスを再起動して、手順 1 からやり直してください。それでも表示されない場合は、アカウントがサンドボックスの許可リストに登録されていることを確認します(ステップ A)。
  5. プルダウン メニューをタップして、[SANDBOX] を選択します。

    TapAndPay 環境セレクタ

  6. 環境設定が変更されたことを通知するダイアログが表示されます。[OK] をタップし、デバイスを再起動します。

    環境変更を確認するスクリーンショット

  7. 再起動後に Google ウォレットを開きます。次のダイアログが表示された場合は、Google ウォレットを強制停止して再度開き、サンドボックス環境に同期します。

    Google ウォレットの強制停止ダイアログ

ステップ C: デバイスがサンドボックス モードになっていることを確認する

  1. Google ウォレット アプリ を起動します。
  2. 右上のプロフィール写真またはアカウント > [ウォレットの設定] をタップします。
  3. ページの下部に移動します。「SANDBOX」という確認メッセージが表示された場合は、デバイスがサンドボックス呼び出し用に構成されています。メッセージが表示されない場合は、本番環境モードになっています。
本番環境モード
図 1: 本番環境モード
サンドボックス モード
図 2: サンドボックス モード

デバイスによっては、Google 設定に Google ウォレットが表示されません。これらのデバイスで Google ウォレットの設定を開くには、次のコマンドで adb を使用します。

adb shell am start -n com.google.android.gms/com.google.android.gms.tapandpay.settings.TapAndPaySettingsActivity

本番環境に戻す

ステップ B を繰り返します。ただし、SANDBOX ではなく PRODUCTION を選択します。

Wear OS デバイス

接続済みの Wear OS デバイスでサンドボックス環境モードを有効にするには、空のファイルを追加し、再起動します。

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

本番環境に戻すには、このファイルを削除して再起動します。

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

ステップ D: サンドボックス用にサーバーを構成する

送信の署名付き OpenID4VP リクエストと受信の Utopia テスト認証情報の検証を示す双方向サンドボックス構成

サンドボックスでは、サーバーに次の 2 つのものが必要です。

  1. Google ウォレットのサンドボックスで信頼されている署名認証情報をリクエストします。
    • 証明書利用者: Google の事前信頼済みサンドボックス テスト鍵ペアと、次のサンプル メタデータを使用します。フォームを送信する必要はありません。
    • 検証者登録事業者: 独自のサンドボックス ルート CA(Google がサンドボックス トラストストアに追加した後)によって発行されたリーフ証明書を使用してリクエストに署名し、ステップ 3.A: CA 証明書プロファイルと CBOR メタデータを構成するの説明に沿って独自の gw_rp_metadata_bytes を生成します。
  2. レスポンス検証のトラスト アンカー: 証明書利用者と検証者登録機関の両方が、Utopia サンドボックス証明書をサーバーのトラストストアに追加して、サンドボックス テスト ID からのレスポンスを検証する必要があります。

サンドボックス テストキーとメタデータ(証明書利用者)

独自のプロダクション キーを登録せずにサンドボックス環境で署名付きリクエストをテストするには、次のテスト鍵ペアを使用します。これらの鍵は、サンドボックス環境で事前に信頼されています。

手順

  1. テスト用の秘密鍵を使用してリクエスト(JWS)に署名します。
  2. リクエストの x5c ヘッダーにテスト用の公開証明書を埋め込みます。
  3. client_id をこの証明書の x509_hash に設定します。ハッシュの計算の詳細については、署名付きリクエストをご覧ください。
  4. client_metadata の gw_rp_metadata_bytes を、次のテスト証明書利用者メタデータ(Base64url CBOR)に設定します。

秘密鍵(PEM):

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQggRmIZIHQhXcYIeZ7
KSqS/WwJrsOetdI8ZE4HG0fd+3uhRANCAAR3GR6mdt/NOErO7+XtKqo7orgXWPMI
jEQDeE1PP4KWXTBAhuewPvF8uOiYakz5Jqd1kEFKfiecZEZRrLnC7U+e
-----END PRIVATE KEY-----

Relying Party Metadata (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

証明書利用者メタデータ(CBOR ダンプ):

#24# .bstr

{
  "schema_version": "v1",
  "display": {
    "display_name": "TEST USE ONLY Sandbox RP",
    "logo_uri": "https://fonts.gstatic.com/s/i/productlogos/googleg/v6/web-64dp/logo_googleg_color_1x_web_64dp.png",
    "privacy_policy_uri": "https://policies.google.com/privacy"
  }
}

公開証明書(PEM):

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            97:99:aa:8b:09:93:5a:20:c1:8b:27:6c:e2:da:91:97:f2:b7:79:8d
        Signature Algorithm: ecdsa-with-SHA256
        Issuer: O=Google, OU=Wallet, CN=TEST USE ONLY Sandbox RP
        Validity
            Not Before: Jun  2 00:39:54 2026 GMT
            Not After : Jun  2 00:39:54 2027 GMT
        Subject: O=Google, OU=Wallet, CN=TEST USE ONLY Sandbox RP
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:77:19:1e:a6:76:df:cd:38:4a:ce:ef:e5:ed:2a:
                    aa:3b:a2:b8:17:58:f3:08:8c:44:03:78:4d:4f:3f:
                    82:96:5d:30:40:86:e7:b0:3e:f1:7c:b8:e8:98:6a:
                    4c:f9:26:a7:75:90:41:4a:7e:27:9c:64:46:51:ac:
                    b9:c2:ed:4f:9e
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Subject Key Identifier:
                29:CA:DA:07:9B:1F:68:FA:80:01:E1:68:E3:38:E8:5A:5C:28:B1:6A
            X509v3 Authority Key Identifier:
                29:CA:DA:07:9B:1F:68:FA:80:01:E1:68:E3:38:E8:5A:5C:28:B1:6A
            X509v3 Basic Constraints: critical
                CA:TRUE
            1.3.6.1.4.1.11129.10.1:
                . ...?..!H.Z\j...uT2. .u.:.O.... 0
    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:46:02:21:00:91:94:fa:b9:85:82:92:bd:6a:98:44:73:ec:
        30:26:1f:92:01:8f:5b:06:d7:8f:21:34:dc:76:f0:89:3c:04:
        8c:02:21:00:ae:3e:9d:46:99:bd:63:7a:cc:59:30:66:48:d0:
        75:cc:c9:82:07:ca:39:f1:f0:df:2b:07:7b:32:b9:5b:3f:0a

-----BEGIN CERTIFICATE-----
MIICFDCCAbmgAwIBAgIVAJeZqosJk1ogwYsnbOLakZfyt3mNMAoGCCqGSM49BAMC
MEUxDzANBgNVBAoMBkdvb2dsZTEPMA0GA1UECwwGV2FsbGV0MSEwHwYDVQQDDBhU
RVNUIFVTRSBPTkxZIFNhbmRib3ggUlAwHhcNMjYwNjAyMDAzOTU0WhcNMjcwNjAy
MDAzOTU0WjBFMQ8wDQYDVQQKDAZHb29nbGUxDzANBgNVBAsMBldhbGxldDEhMB8G
A1UEAwwYVEVTVCBVU0UgT05MWSBTYW5kYm94IFJQMFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEdxkepnbfzThKzu/l7SqqO6K4F1jzCIxEA3hNTz+Cll0wQIbnsD7x
fLjomGpM+SandZBBSn4nnGRGUay5wu1PnqOBhTCBgjAdBgNVHQ4EFgQUKcraB5sf
aPqAAeFo4zjoWlwosWowHwYDVR0jBBgwFoAUKcraB5sfaPqAAeFo4zjoWlwosWow
DwYDVR0TAQH/BAUwAwEB/zAvBgkrBgEEAdZ5CgEEIgQg5taUP70bIUiJWlxqkwYP
dVQyoyCvdaw62E8u4ASBIDAwCgYIKoZIzj0EAwIDSQAwRgIhAJGU+rmFgpK9aphE
c+wwJh+SAY9bBtePITTcdvCJPASMAiEArj6dRpm9Y3rMWTBmSNB1zMmCB8o58fDf
Kwd7MrlbPwo=
-----END CERTIFICATE-----

サンドボックス IACA ルート証明書(すべてのパートナー)

サンドボックスでプロビジョニングされたテスト ID は、Google のサンドボックス発行機関(Utopia)によって署名されます。サンドボックス テスト ID パスから返されたレスポンスの issuerAuth 署名を暗号的に検証するには、このルート証明書を検証ツールのトラストストアに追加します(本番環境では信頼しないでください)。

環境 発行元 / 国 認証情報の種類 IACA ルート証明書
サンドボックス Utopia ID パス(com.google.wallet.idcard.1) Utopia Sandbox 証明書をダウンロードする

サポートされている米国の州と国の本番環境の IACA ルート証明書については、サポートされている発行元と IACA 証明書をご覧ください。

サンドボックス環境の稼働時間

サンドボックス環境には、本番環境のような稼働時間に関する SLA はありません。サンドボックス環境の停止が原因と思われるエラーが発生した場合は、1 営業日(米国時間)お待ちいただいてから Google にご連絡ください。通常は、その期間内に自動的に復旧します。ダウンタイムが発生する可能性があるため、重要なリリース プロセスをサンドボックス環境に依存するように設計しないでください。

次のステップ

ステップ 2: テスト ID を作成する →