Krok 1. Skonfiguruj piaskownicę

Piaskownica to środowisko testowe usługi tożsamości Portfela Google. Używa on identyfikatorów testowych zamiast rzeczywistych, dzięki czemu możesz tworzyć i debugować integrację bez wpływu na dane produkcyjne.

Domyślnie Portfel Google działa w trybie produkcyjnym z prawdziwymi dokumentami tożsamości. Na tym etapie przełączysz urządzenie testowe w tryb piaskownicy i skonfigurujesz serwer pod kątem żądań i odpowiedzi w piaskownicy.

Kroki opisane na tej stronie

Zanim rozpoczniesz

Krok A. Poproś o dostęp do piaskownicy dla konta testowego

Opcja przełączania się między piaskownicą a środowiskiem produkcyjnym jest domyślnie ukryta. Aby włączyć przełącznik na urządzeniu testowym, Twoje konto Google musi zostać dodane do listy dozwolonych w piaskownicy:

  1. Wypełnij formularz prośby o dostęp do środowiska testowego Google Pay, używając konta Google, z którego korzystasz w Portfelu Google.
  2. Jeśli przeprowadzasz testy w kraju lub regionie, w którym cyfrowe dokumenty tożsamości nie zostały jeszcze oficjalnie wprowadzone, wyślij też adresy Gmail kont testowych na adres wallet-identity-rp-support@google.com.

Krok B. Przełącz urządzenie w tryb piaskownicy

  1. Na urządzeniu testowym z Androidem otwórz aplikację Ustawienia.
  2. U góry ekranu kliknij swoje konto Google / zdjęcie profilowe (wyświetli się Twoje imię i nazwisko oraz „Usługi i ustawienia Google”).
  3. Jeśli pojawi się taka prośba, wybierz swój profil, a następnie kliknij Wszystkie usługi.
  4. Przejdź do kategorii Inne i kliknij Środowisko płatności zbliżeniowych. Jeśli nie widzisz opcji Środowisko TapAndPay, uruchom ponownie urządzenie i zacznij od kroku 1. Jeśli nadal nie widzisz tej opcji, sprawdź, czy Twoje konto znajduje się na liście dozwolonych w piaskownicy (krok A).
  5. Kliknij menu i wybierz SANDBOX.

    Selektor środowiska TapAndPay

  6. Pojawi się okno z informacją o zmianie środowiska. Kliknij OK i uruchom ponownie urządzenie.

    Zrzut ekranu z potwierdzeniem zmiany środowiska

  7. Po ponownym uruchomieniu otwórz Portfel Google. Jeśli zobaczysz to okno, wymuś zatrzymanie i ponownie otwórz Portfel Google, aby zsynchronizować go ze środowiskiem piaskownicy:

    Okno wymuszenia zatrzymania Portfela Google

Krok C. Sprawdź, czy urządzenie jest w trybie piaskownicy

  1. Otwórz aplikację Portfel Google .
  2. W prawym górnym rogu naciśnij swoje zdjęcie profilowe lub konto > Ustawienia Portfela.
  3. Przejdź na dół strony. Jeśli zobaczysz komunikat z potwierdzeniem, który zawiera słowo SANDBOX, urządzenie jest skonfigurowane do połączeń w piaskownicy. Jeśli nie widzisz komunikatu, oznacza to, że jest w trybie produkcyjnym.
tryb produkcyjny,
Rysunek 1. Tryb produkcyjny
Tryb piaskownicy
Rysunek 2. Tryb piaskownicy

Na niektórych urządzeniach Portfel Google nie jest widoczny w ustawieniach Google. Aby otworzyć ustawienia Portfela Google na tych urządzeniach, użyj adb z tym poleceniem:

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

Wróć do wersji produkcyjnej

Powtórz krok B, ale zamiast SANDBOX wybierz PRODUCTION.

urządzenia z Wear OS,

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

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Aby wrócić do trybu produkcyjnego, usuń plik i uruchom ponownie urządzenie:

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Krok D. Skonfiguruj serwer na potrzeby piaskownicy

Dwukierunkowa konfiguracja piaskownicy pokazująca wychodzące podpisane żądania OpenID4VP i przychodzącą weryfikację danych testowych Utopia

W piaskownicy serwer potrzebuje 2 rzeczy:

  1. Poproś o dane logowania do podpisywania zaufane przez środowisko testowe Portfela Google:
    • Strony zależne: użyj wstępnie zaufanej pary kluczy testowych piaskownicy Google i tych przykładowych metadanych. Nie musisz przesyłać formularza.
    • Rejestratorzy weryfikujący: podpisuj żądania certyfikatem wierzchołka ścieżki wydanym przez własny główny urząd certyfikacji w piaskownicy (po dodaniu go przez Google do magazynu zaufania piaskownicy) i wygeneruj własny plik gw_rp_metadata_bytes zgodnie z opisem w sekcji Krok 3A.Skonfiguruj profil certyfikatu CA i metadane CBOR.
  2. Kotwica zaufania do weryfikacji odpowiedzi: zarówno strony polegające, jak i rejestratorzy weryfikujący muszą dodać certyfikat Utopia Sandbox do magazynu zaufania swojego serwera, aby sprawdzać odpowiedzi z identyfikatora testowego piaskownicy.

Klucze testowe i metadane piaskownicy (strony zależne)

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.

Instrukcje

  1. Użyj testowego klucza prywatnego, aby podpisać żądanie (JWS).
  2. Umieść testowy certyfikat publiczny w nagłówku x5c żądania.
  3. Ustaw client_id na x509_hash tego certyfikatu. Szczegółowe informacje o obliczaniu hasha znajdziesz w artykule Podpisane żądania.
  4. W polu gw_rp_metadata_bytes w client_metadata ustaw te testowe metadane strony uzależnionej (Base64url CBOR).

Klucz prywatny (PEM):

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

Metadane strony uzależnionej (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

Metadane strony uzależnionej (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-----

Certyfikat główny IACA piaskownicy (wszyscy partnerzy)

Identyfikatory testowe udostępnione w piaskownicy są podpisane przez urząd certyfikacji piaskownicy Google (Utopia). Aby kryptograficznie zweryfikować podpis issuerAuth w odpowiedziach zwracanych z testowego cyfrowego dokumentu tożsamości w piaskownicy, dodaj ten certyfikat główny do magazynu zaufania weryfikatora (nie ufaj mu w środowisku produkcyjnym):

Środowisko Wystawca / kraj Typ danych logowania Certyfikat główny IACA
Piaskownica Utopia Cyfrowy dokument tożsamości (com.google.wallet.idcard.1) Pobierz certyfikat Utopia Sandbox

Informacje o certyfikatach głównych IACA w obsługiwanych stanach USA i krajach znajdziesz w artykule Obsługiwani wydawcy i certyfikaty IACA.

Czas działania piaskownicy

Środowisko piaskownicy nie ma gwarancji jakości usług dotyczącej czasu działania, tak jak nasze środowisko produkcyjne. Jeśli wystąpi błąd, który Twoim zdaniem jest związany z przerwą w działaniu piaskownicy, poczekaj 1 dzień roboczy (w Stanach Zjednoczonych), zanim się z nami skontaktujesz. Przerwy w działaniu zwykle ustępują w tym czasie. Ze względu na możliwość wystąpienia przestojów nie należy projektować żadnych kluczowych procesów związanych z wydaniem, które byłyby zależne od środowiska piaskownicy.

Następny krok

Krok 2. Utwórz identyfikator testowy →