サンドボックス モード

デフォルトでは、Google ウォレットは、実際の ID が使われる本番環境モードで動作します。サンドボックス モードで動作するように Google ウォレット を再構成できます。リクエストは Google のサンドボックス環境に転送されます。

開発中と本番環境移行前のテストでは、サンドボックス モードを使用することをおすすめします。準備ができたら、デバイスを本番環境モードに戻すことができます。

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

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

Android デバイスでサンドボックス モードを有効または無効にする

TapAndPay 環境設定を使用して、サンドボックス環境モードを有効化できます。本番環境 モードに戻るには、上記と同じ手順を行い、サンドボックスではなく本番環境を選択します。

TapAndPay 環境設定を使用する

サンドボックス モードを有効にするには、次の手順を行います。

  1. 設定 アプリを開きます。
  2. 画面の一番上にあるお使いの Google アカウント / プロフィール写真 をタップします( 名前と「Google サービスと設定」が表示されます)。
  3. プロフィールを選択するオプションが表示されたら、プロフィールを選択して [すべてのサービス] をタップします。
  4. [その他] のカテゴリまでスクロールし、[TapAndPay Environment] をタップします。 [TapAndPay Environment] が表示されない場合は、デバイスを再起動して、手順 1 からやり直してください。
  5. プルダウン メニューをタップして、[SANDBOX] を選択します。
  6. 環境変更を確認するスクリーンショット
  7. 環境設定が変更されたことを通知する次のダイアログが表示されます。[OK] をタップして、デバイスを再起動します。
  8. 環境変更を確認するスクリーンショット

Google ウォレット環境を同期する

再起動後に Google ウォレットを開くと、次のダイアログが表示される場合があります。この場合は、Google ウォレットを強制停止して再度開く必要があります。

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

Wear OS デバイスでサンドボックス モードを有効または無効にする

接続された Wear OS デバイスでサンドボックス モードを有効にするには、次の 例に示すように、空のファイルを追加して再起動します。

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

接続されている Wear OS デバイスで本番環境モードに戻すには、次の例に示すように、ファイルを削除してデバイスを再起動します 。

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Android デバイスがサンドボックス環境モードか本番環境モードかを確認する

Android デバイスがサンドボックス モードか本番環境モードかを確認するには、次の手順を実行します

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

デバイスによっては、Google 設定に Google ウォレットが表示されません。Google ウォレットの設定にアクセスするには、次のコマンドで adb を使用する必要があります。

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

サンドボックスで署名付きリクエストをテストする

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

テストキー

秘密鍵(PEM):

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

証明書利用者メタデータ(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-----

手順

  1. テスト用の秘密鍵を使用して、リクエスト(JWS)に署名します。
  2. リクエストの x5c ヘッダーにテスト用の公開証明書を埋め込みます。
  3. client_id をこの証明書の x509_hash に設定します。ハッシュの計算方法については、オンラインでの承認 - 署名付きリクエストをご覧ください。