Tryb piaskownicy

Domyślnie Portfel Google działa w trybie produkcyjnym z prawdziwymi tożsamościami. Możesz ponownie skonfigurować Portfel Google aby działał w trybie piaskownicy. Żądania są kierowane do środowiska piaskownicy Google.

Podczas programowania i testowania w środowisku przedprodukcyjnym zalecamy korzystanie z trybu piaskownicy. Gdy wszystko będzie gotowe, możesz przełączyć urządzenie z powrotem na tryb produkcyjny.

Czas działania piaskownicy

Środowisko piaskownicy nie ma umów SLA dotyczących czasu działania, tak jak nasze środowisko produkcyjne. Jeśli wystąpi błąd, który Twoim zdaniem jest związany z awarią piaskownicy, przed skontaktowaniem się z nami poczekaj 1 dzień roboczy w Stanach Zjednoczonych. Awarie zwykle same się rozwiązują w tym czasie. Ze względu na możliwość wystąpienia przestoju nie projektuj żadnych krytycznych procesów wdrażania w taki sposób, aby były one zależne od środowiska piaskownicy.

Włączanie i wyłączanie trybu piaskownicy na urządzeniu z Androidem

Tryb piaskownicy możesz włączyć za pomocą ustawień środowiska TapAndPay. Aby wrócić do trybu produkcyjnego , wykonaj te same czynności, ale zamiast piaskownicy wybierz środowisko produkcyjne.

Korzystanie z ustawień środowiska TapAndPay

Aby włączyć tryb piaskownicy:

  1. Otwórz aplikację Ustawienia.
  2. U góry ekranu kliknij konto Google / zdjęcie profilowe (wyświetli się Twoje imię i nazwisko oraz "Usługi i preferencje Google").
  3. Jeśli masz taką możliwość, wybierz swój profil, a potem kliknij Wszystkie usługi.
  4. Przewiń do kategorii Inne i kliknij Środowisko TapAndPay. Jeśli nie widzisz Środowisko TapAndPay, uruchom ponownie urządzenie i zacznij od kroku 1.
  5. Kliknij menu i wybierz SANDBOX.
  6. Zrzut ekranu z potwierdzeniem zmiany środowiska
  7. Powinien się wyświetlić ten komunikat informujący o zmianie środowiska. Kliknij OK i uruchom ponownie urządzenie.
  8. Zrzut ekranu z potwierdzeniem zmiany środowiska

Synchronizowanie środowiska Portfela Google

Gdy po ponownym uruchomieniu otworzysz Portfel Google, może się wyświetlić ten komunikat , który będzie wymagał wymuszenia zatrzymania i ponownego otwarcia Portfela Google:

Zrzut ekranu z potwierdzeniem zmiany środowiska

Włączanie i wyłączanie trybu piaskownicy na urządzeniu z Wear OS

Aby włączyć tryb piaskownicy na połączonym urządzeniu z Wear OS, dodaj pusty plik i uruchom ponownie urządzenie, jak pokazano w tym przykładzie:

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Aby wrócić do trybu produkcyjnego na połączonym urządzeniu z Wear OS, usuń plik i uruchom ponownie urządzenie, jak pokazano w tym przykładzie:

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Sprawdzanie, czy urządzenie z Androidem jest w trybie piaskownicy czy w trybie produkcyjnym

Aby sprawdzić, czy urządzenie z Androidem jest w trybie piaskownicy czy w trybie produkcyjnym:

  1. Otwórz aplikację Portfel Google .
  2. W prawym górnym rogu kliknij swoje zdjęcie profilowe lub konto > Ustawienia Portfela.
  3. Przewiń do dołu strony . Jeśli zobaczysz komunikat z potwierdzeniem SANDBOX, oznacza to, że możesz wykonywać wywołania w trybie piaskownicy. Jeśli nie widzisz komunikatu, oznacza to, że możesz wykonywać wywołania w trybie produkcyjnym.
Tryb produkcji
Rysunek 1. Tryb produkcyjny
Tryb piaskownicy
Rysunek 2. Tryb piaskownicy

Niektóre urządzenia nie mają Portfela Google w ustawieniach Google. Aby uzyskać dostęp do ustawień Portfela Google, musisz użyć adb z tym poleceniem:

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

Testowanie podpisanych żądań w piaskownicy

Aby przetestować podpisane żądania w środowisku piaskownicy bez rejestrowania własnych kluczy produkcyjnych, możesz użyć tej pary kluczy testowych. Te klucze są wstępnie zaufane w środowisku piaskownicy.

Klucze testowe

Klucz prywatny (PEM):

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

Metadane strony ufającej (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

Metadane strony ufającej (zrzut 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"
  }
}

Certyfikat publiczny (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-----

Instrukcje

  1. Użyj testowego klucza prywatnego do podpisania żądania (JWS).
  2. Osadź testowy certyfikat publiczny w nagłówku x5c żądania.
  3. Ustaw client_id na x509_hash tego certyfikatu. Szczegółowe informacje o obliczaniu skrótu znajdziesz w artykule Akceptacja online – podpisane żądania.