沙盒模式

默认情况下,Google 钱包在生产模式下运行,使用真实的身份信息。您可以重新配置 Google 钱包,使其在沙盒模式下运行。请求会路由到 Google 的沙盒环境。

建议您在开发和预生产测试期间使用沙盒模式。准备就绪后,您可以将设备切换回生产模式。

沙盒正常运行时间

沙盒环境没有像生产环境那样的正常运行时间 SLA。如果您遇到疑似与沙盒服务中断相关的错误,请等待一个美国工作日,然后再与我们联系。服务中断通常会在该时间段内自行解决。由于可能会出现停机时间,请勿将任何关键发布流程设计为依赖于沙盒环境。

在 Android 设备上启用和停用沙盒模式

您可以使用 TapAndPay 环境设置启用沙盒模式。如需返回生产环境模式,请按照相同的步骤操作,但选择生产环境而非沙盒。

使用 TapAndPay 环境设置

执行以下步骤以启用沙盒模式:

  1. 打开设置应用。
  2. 点按屏幕顶部附近的 Google 账号 / 个人资料照片(其中会显示您的姓名和“Google 服务和偏好设置”)。
  3. 如果系统提供了选择个人资料的选项,请选择您的个人资料,然后点按所有服务
  4. 滚动到其他类别,然后点按 TapAndPay 环境。如果您没有看到 TapAndPay Environment,请重启设备,然后从第 1 步重新开始。
  5. 点按下拉菜单,然后选择 SANDBOX
  6. 环境更改确认屏幕截图
  7. 您应该会看到以下对话框,其中通知环境已更改。点按确定,然后重新启动设备。
  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"
  }
}

Public Certificate (PEM)(公开证书 [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。如需详细了解如何计算哈希值,请参阅在线接受 - 已签名的请求