Шаг 1. Настройте тестовую среду

Песочница – это тестовая среда для сервиса идентификации Google Кошелька. В нем используются тестовые идентификаторы вместо настоящих, поэтому вы можете создавать и отлаживать интеграцию, не затрагивая рабочие данные.

По умолчанию Google Кошелек работает в производственном режиме с реальными идентификаторами. На этом этапе вы переключаете тестовое устройство в режим тестовой среды и настраиваете сервер для запросов и ответов тестовой среды.

Инструкции на этой странице

Подготовка

Шаг А. Запросите доступ к тестовой среде для тестового аккаунта

По умолчанию возможность переключения между тестовой и рабочей средой скрыта. Чтобы включить переключатель на тестовом устройстве, ваш аккаунт Google должен быть добавлен в белый список тестовой среды.

  1. Заполните форму запроса доступа к тестовой среде Google Pay, используя аккаунт Google, который вы используете в Google Кошельке.
  2. Если вы проводите тестирование в стране или регионе, где цифровые удостоверения личности ещё не запущены официально, также отправьте адреса Gmail тестовых аккаунтов на wallet-identity-rp-support@google.com.

Шаг Б. Переведите устройство в режим тестовой среды

  1. Откройте приложение Настройки на тестовом устройстве Android.
  2. В верхней части экрана нажмите на аккаунт Google или фото профиля. Там будет указано ваше имя и надпись "Сервисы и настройки Google".
  3. При необходимости выберите профиль и нажмите Все сервисы.
  4. Перейдите в категорию Другое и нажмите Среда TapAndPay. Если вы не видите пункт TapAndPay Environment, перезагрузите устройство и начните с шага 1. Если он по-прежнему отсутствует, убедитесь, что ваш аккаунт добавлен в белый список песочницы (шаг А).
  5. Нажмите на раскрывающееся меню и выберите SANDBOX.

    Селектор среды TapAndPay

  6. Появится диалоговое окно с уведомлением о том, что платформа изменена. Нажмите ОК и перезагрузите устройство.

    Скриншот подтверждения изменения среды

  7. После перезагрузки откройте Google Кошелек. Если вы видите диалоговое окно, показанное ниже, принудительно остановите и снова откройте Google Кошелек, чтобы синхронизировать его с тестовой средой.

    Диалоговое окно принудительной остановки Google Кошелька

Шаг 3. Убедитесь, что устройство находится в режиме тестовой среды

  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

Вернуться к рабочей версии

Повторите шаг Б, но выберите PRODUCTION вместо SANDBOX.

устройства 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

Шаг 4. Настройте сервер для работы с тестовой средой

Двусторонняя конфигурация изолированной среды, показывающая исходящие подписанные запросы OpenID4VP и входящую проверку тестовых учетных данных Utopia

В тестовой среде серверу нужны две вещи:

  1. Запросите учетные данные для подписи, которым доверяет тестовая среда Google Кошелька:
    • Полагающиеся стороны. Используйте предварительно доверенную пару ключей для тестирования в изолированной среде Google и следующие примеры метаданных. Вам не нужно отправлять форму.
    • Регистраторы, выполняющие проверку. Подписывайте запросы сертификатом конечного субъекта, выданным вашим собственным корневым ЦС песочницы (после того как Google добавит его в хранилище доверия песочницы), и создавайте собственные gw_rp_metadata_bytes, как описано в разделе Шаг 3А. Настройте профиль сертификата ЦС и метаданные CBOR.
  2. Якорь доверия для проверки ответов. Полагающиеся стороны и регистраторы верификаторов должны добавить сертификат Utopia Sandbox в хранилище доверия своего сервера, чтобы проверять ответы от тестового идентификатора в тестовой среде.

Тестовые ключи и метаданные изолированной среды (для доверяющих сторон)

Чтобы протестировать подписанные запросы в тестовой среде без регистрации собственных рабочих ключей, вы можете использовать следующую тестовую пару ключей. Эти ключи считаются доверенными в тестовой среде.

Инструкции

  1. Подпишите запрос (JWS) тестовым закрытым ключом.
  2. Встройте тестовый открытый сертификат в заголовок x5c запроса.
  3. Задайте для свойства client_id значение x509_hash этого сертификата. Подробнее о подписанных запросах…
  4. Задайте для gw_rp_metadata_bytes в client_metadata следующие тестовые метаданные проверяющей стороны (Base64url CBOR).

Закрытый ключ (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-----

Корневой сертификат IACA для тестовой среды (все партнеры)

Тестовые удостоверения личности, подготовленные в тестовой среде, подписываются Центром сертификации тестовой среды Google (Utopia). Чтобы криптографически проверить подпись issuerAuth в ответах, возвращаемых тестовым цифровым удостоверением из тестовой среды, добавьте этот корневой сертификат в хранилище доверия валидатора (не доверяйте ему в рабочей среде):

Среда Эмитент / страна Тип учетных данных Корневой сертификат IACA
Тестовая среда Utopia Цифровое удостоверение (com.google.wallet.idcard.1) Скачать сертификат Utopia Sandbox

Список рабочих корневых сертификатов IACA для поддерживаемых штатов США и стран можно найти в статье Поддерживаемые эмитенты и сертификаты IACA.

Время работы изолированной среды

Для тестовой среды не предусмотрено соглашение об уровне обслуживания, как для рабочей. Если вы столкнулись с ошибкой, которая, по вашему мнению, связана со сбоем в работе тестовой среды, подождите один рабочий день (по календарю США), прежде чем обращаться к нам. Обычно за это время сбои устраняются. Поскольку возможны простои, не планируйте критически важные процессы выпуска, зависящие от тестовой среды.

Дальнейшие действия

Шаг 2. Создайте тестовый идентификатор →