Passaggio 1: configura la sandbox

La sandbox è un ambiente di test per il servizio di identità di Google Wallet. Utilizza ID di test anziché ID reali, in modo da poter creare ed eseguire il debug dell'integrazione senza toccare i dati di produzione.

Per impostazione predefinita, Google Wallet viene eseguito in modalità di produzione con ID reali. In questo passaggio, passi un dispositivo di test alla modalità sandbox e configuri il server per le richieste e le risposte della sandbox.

Passaggi in questa pagina

Prima di iniziare

Passaggio A: richiedi l'accesso alla sandbox per il tuo account di prova

L'opzione per passare dalla sandbox alla produzione è nascosta per impostazione predefinita. Per attivare l'opzione sul tuo dispositivo di test, il tuo Account Google deve essere aggiunto alla lista consentita di Sandbox:

  1. Compila il modulo di richiesta di accesso alla sandbox di Google Pay con l'Account Google che utilizzi in Google Wallet.
  2. Se stai eseguendo i test da un paese o una regione in cui i documenti di identità digitali non sono ancora stati lanciati ufficialmente, invia anche un'email con gli indirizzi Gmail dei tuoi account di test all'indirizzo wallet-identity-rp-support@google.com.

Passaggio B: passa alla modalità sandbox sul dispositivo

  1. Apri l'app Impostazioni sul tuo dispositivo di test Android.
  2. Tocca il tuo Account Google / immagine del profilo nella parte superiore dello schermo (mostra il tuo nome e "Servizi e preferenze Google").
  3. Se richiesto, scegli il tuo profilo, quindi tocca Tutti i servizi.
  4. Vai alla categoria Altro e tocca Ambiente TapAndPay. Se non vedi Ambiente TapAndPay, riavvia il dispositivo e ricomincia dal passaggio 1. Se non è ancora presente, verifica che il tuo account sia nella lista consentita della sandbox (Passaggio A).
  5. Tocca il menu a discesa e seleziona SANDBOX.

    Selettore dell'ambiente TapAndPay

  6. Viene visualizzata una finestra di dialogo che ti informa che l'ambiente è cambiato. Tocca Ok e riavvia il dispositivo.

    Screenshot della conferma della modifica dell'ambiente

  7. Apri Google Wallet dopo il riavvio. Se vedi la seguente finestra di dialogo, forza l'interruzione e riapri Google Wallet in modo che si sincronizzi con l'ambiente sandbox:

    Finestra di dialogo per l'interruzione forzata di Google Wallet

Passaggio C: verifica che il dispositivo sia in modalità sandbox

  1. Apri l'app Google Wallet .
  2. In alto a destra, tocca la tua immagine del profilo o l'icona dell'account > Impostazioni di Wallet.
  3. Vai alla parte inferiore della pagina. Se visualizzi un messaggio di conferma che dice SANDBOX, il dispositivo è configurato per le chiamate sandbox. Se non vedi un messaggio, significa che è in modalità di produzione.
Modalità di produzione
Figura 1: modalità di produzione
Modalità sandbox
Figura 2: modalità sandbox

Alcuni dispositivi non mostrano Google Wallet nelle Impostazioni Google. Per aprire le impostazioni di Google Wallet su questi dispositivi, utilizza adb con il seguente comando:

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

Torna alla produzione

Ripeti il passaggio B, ma seleziona PRODUZIONE anziché SANDBOX.

Wear OS

Per attivare la modalità sandbox su un dispositivo Wear OS connesso, aggiungi un file vuoto e riavvia:

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Per tornare alla produzione, elimina il file e riavvia:

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Passaggio D: configura il server per la sandbox

Configurazione della sandbox bidirezionale che mostra le richieste OpenID4VP firmate in uscita e la verifica delle credenziali di test Utopia in entrata

Nella sandbox, il tuo server ha bisogno di due cose:

  1. Richiedi le credenziali di firma attendibili per la sandbox di Google Wallet:
    • Soggetti facenti affidamento: utilizza la coppia di chiavi di test sandbox pre-attendibile di Google e i seguenti metadati di esempio. Non è necessario inviare un modulo.
    • Registrar di verifica: firma le richieste con un certificato foglia emesso dalla tua CA radice sandbox (dopo che Google l'ha aggiunta all'archivio di attendibilità sandbox) e genera il tuo gw_rp_metadata_bytes come descritto nel Passaggio 3.A: configura il profilo del certificato CA e i metadati CBOR.
  2. Ancoraggio di attendibilità per la verifica della risposta:sia le parti di supporto che i registrar di verifica devono aggiungere il certificato Utopia Sandbox all'archivio di attendibilità del proprio server per convalidare le risposte di un ID di test della sandbox.

Chiavi e metadati di test della sandbox (Relying Party)

Per testare le richieste firmate nell'ambiente Sandbox senza registrare le tue chiavi di produzione, puoi utilizzare la seguente coppia di chiavi di test. Queste chiavi sono pre-attendibili nell'ambiente Sandbox.

Istruzioni

  1. Utilizza la chiave privata di test per firmare la richiesta (JWS).
  2. Incorpora il certificato pubblico di test nell'intestazione x5c della richiesta.
  3. Imposta client_id sul valore x509_hash di questo certificato. Per informazioni dettagliate sul calcolo dell'hash, consulta Richieste firmate.
  4. Imposta gw_rp_metadata_bytes in client_metadata sui seguenti metadati della relying party di test (Base64url CBOR).

Chiave privata (PEM):

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

Relying Party Metadata (Base64url CBOR):

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

Relying Party Metadata (CBOR Dump):

#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"
  }
}

Certificato pubblico (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-----

Certificato radice IACA della sandbox (tutti i partner)

I documenti di identità di test di cui è stato eseguito il provisioning nella sandbox sono firmati dall'autorità di emissione della sandbox di Google (Utopia). Per convalidare in modo crittografico la firma issuerAuth sulle risposte restituite da un pass ID di test sandbox, aggiungi questo certificato radice all'archivio di attendibilità del tuo verificatore (non considerarlo attendibile in produzione):

Ambiente Emittente / paese Tipo di credenziali Certificato radice IACA
Sandbox Utopia Pass ID (com.google.wallet.idcard.1) Scarica il certificato Utopia Sandbox

Per i certificati radice IACA di produzione negli stati e nei paesi degli Stati Uniti supportati, consulta Emittenti e certificati IACA supportati.

Uptime della sandbox

L'ambiente sandbox non ha SLA di uptime come il nostro ambiente di produzione. Se riscontri un errore che sospetti sia correlato a un'interruzione della sandbox, attendi un giorno lavorativo negli Stati Uniti prima di contattarci. In genere, le interruzioni si risolvono da sole entro questo periodo di tempo. A causa del potenziale tempo di inattività, non progettare i processi di rilascio critici in modo che dipendano dall'ambiente sandbox.

Passaggio successivo

Passaggio 2: crea un ID test →