Étape 1 : Configurer le bac à sable

Le bac à sable est un environnement de test pour le service d'identité de Google Wallet. Il utilise des ID de test au lieu d'ID réels, ce qui vous permet de créer et de déboguer votre intégration sans toucher aux données de production.

Par défaut, Google Wallet s'exécute en mode production avec de vraies pièces d'identité. Dans cette étape, vous allez passer un appareil de test en mode bac à sable et configurer votre serveur pour les requêtes et les réponses du bac à sable.

Étapes sur cette page

Avant de commencer

Étape A : Demandez l'accès au bac à sable pour votre compte de test

L'option permettant de basculer entre le bac à sable et la production est masquée par défaut. Pour activer l'option sur votre appareil de test, votre compte Google doit être ajouté à la liste d'autorisation du bac à sable :

  1. Remplissez le formulaire de demande d'accès au bac à sable Google Pay avec le compte Google que vous utilisez dans Google Wallet.
  2. Si vous effectuez des tests depuis un pays ou une région où les pièces d'identité numériques n'ont pas encore été officiellement lancées, envoyez également les adresses Gmail de vos comptes de test à wallet-identity-rp-support@google.com.

Étape B : Passez votre appareil en mode bac à sable

  1. Ouvrez l'application Paramètres sur votre appareil de test Android.
  2. Appuyez sur votre compte Google / photo de profil tout en haut de l'écran (votre nom et "Services et préférences Google" s'affichent).
  3. Si vous y êtes invité, sélectionnez votre profil, puis appuyez sur Tous les services.
  4. Accédez à la catégorie Other (Autre), puis appuyez sur TapAndPay Environment (Environnement TapAndPay). Si vous ne voyez pas TapAndPay Environment, redémarrez votre appareil et recommencez à partir de l'étape 1. Si elle n'apparaît toujours pas, vérifiez que votre compte figure sur la liste d'autorisation du bac à sable (étape A).
  5. Appuyez sur le menu déroulant, puis sélectionnez SANDBOX.

    Sélecteur d'environnement TapAndPay

  6. Une boîte de dialogue vous informe que l'environnement a changé. Appuyez sur OK et redémarrez votre appareil.

    Capture d'écran de la confirmation du changement d'environnement

  7. Ouvrez Google Wallet après le redémarrage. Si la boîte de dialogue suivante s'affiche, forcez l'arrêt de Google Wallet, puis rouvrez l'application pour qu'elle se synchronise avec l'environnement de bac à sable :

    Boîte de dialogue "Forcer l'arrêt de Google Wallet"

Étape C : Vérifiez que votre appareil est en mode bac à sable

  1. Ouvrez l'application Google Wallet .
  2. En haut à droite, appuyez sur votre photo de profil ou sur votre compte  > Paramètres de Wallet.
  3. Accédez au bas de la page. Si le message de confirmation SANDBOX s'affiche, cela signifie que votre appareil est configuré pour les appels à l'environnement de bac à sable. Si ce message ne s'affiche pas, cela signifie que vous êtes en mode Production.
Mode Production
Figure 1 : mode production
Mode bac à sable
Figure 2 : mode bac à sable

Sur certains appareils, Google Wallet n'est pas disponible dans les paramètres Google. Pour ouvrir les paramètres de Google Wallet sur ces appareils, utilisez adb avec la commande suivante :

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

Revenir à la production

Répétez l'étape B, mais sélectionnez PRODUCTION au lieu de SANDBOX.

Appareils Wear OS

Pour activer le mode bac à sable sur un appareil Wear OS connecté, ajoutez un fichier vide et redémarrez l'appareil :

adb shell touch /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Pour revenir au mode production, supprimez le fichier et redémarrez l'appareil :

adb shell rm /sdcard/Download/android_pay_env_override_sandbox
adb reboot

Étape D : Configurez votre serveur pour le bac à sable

Configuration de bac à sable bidirectionnel montrant les requêtes OpenID4VP signées sortantes et la vérification des identifiants de test Utopia entrants

Dans le bac à sable, votre serveur a besoin de deux choses :

  1. Demandez des identifiants de signature approuvés par le bac à sable de Google Wallet :
    • Parties de confiance : utilisez la paire de clés de test du bac à sable pré-approuvée par Google et l'exemple de métadonnées suivant. Vous n'avez pas besoin d'envoyer de formulaire.
    • Bureaux d'enregistrement de vérificateurs : signez les requêtes avec un certificat d'entité finale émis par votre propre autorité de certification racine de bac à sable (après que Google l'a ajouté au magasin de confiance du bac à sable) et générez votre propre gw_rp_metadata_bytes comme décrit à l'Étape 3.A : Configurez votre profil de certificat d'autorité de certification et vos métadonnées CBOR.
  2. Ancre de confiance pour la validation des réponses : les parties de confiance et les bureaux d'enregistrement de vérificateurs doivent ajouter le certificat Utopia Sandbox au magasin de confiance de leur serveur pour valider les réponses d'un ID de test de bac à sable.

Clés et métadonnées de test du bac à sable (parties de confiance)

Pour tester les requêtes signées dans l'environnement Sandbox sans enregistrer vos propres clés de production, vous pouvez utiliser la paire de clés de test suivante. Ces clés sont pré-approuvées dans l'environnement de bac à sable.

Instructions

  1. Utilisez la clé privée de test pour signer votre requête (JWS).
  2. Intégrez le certificat public de test dans l'en-tête x5c de votre requête.
  3. Définissez client_id sur le x509_hash de ce certificat. Pour en savoir plus sur le calcul du hachage, consultez Requêtes signées.
  4. Définissez gw_rp_metadata_bytes dans client_metadata sur les métadonnées de la partie de confiance de test suivantes (Base64url CBOR).

Clé privée (PEM) :

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

Métadonnées de la partie de confiance (CBOR Base64url) :

2BhY56Juc2NoZW1hX3ZlcnNpb25idjFnZGlzcGxheaNsZGlzcGxheV9uYW1leBhURVNUIFVTRSBPTkxZIFNhbmRib3ggUlBobG9nb191cml4YWh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pL3Byb2R1Y3Rsb2dvcy9nb29nbGVnL3Y2L3dlYi02NGRwL2xvZ29fZ29vZ2xlZ19jb2xvcl8xeF93ZWJfNjRkcC5wbmdycHJpdmFjeV9wb2xpY3lfdXJpeCNodHRwczovL3BvbGljaWVzLmdvb2dsZS5jb20vcHJpdmFjeQ

Métadonnées de la partie de confiance (vidage 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"
  }
}

Certificat public (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-----

Certificat racine IACA du bac à sable (tous les partenaires)

Les ID de test provisionnés dans le bac à sable sont signés par l'autorité de certification du bac à sable de Google (Utopia). Pour valider de manière cryptographique la signature issuerAuth sur les réponses renvoyées par un pass d'identité de test de bac à sable, ajoutez ce certificat racine au magasin de confiance de votre vérificateur (ne l'approuvez pas en production) :

Environnement Émetteur / Pays Type d'identifiants Certificat racine IACA
Bac à sable Utopia Pass d'identité (com.google.wallet.idcard.1) Télécharger le certificat Utopia Sandbox

Pour connaître les certificats racine IACA de production dans les États américains et les pays compatibles, consultez Émetteurs et certificats IACA compatibles.

Temps d'activité dans l'environnement de bac à sable

L'environnement de bac à sable n'offre pas de garantie de disponibilité liée à un contrat de niveau de service, contrairement à notre environnement de production. Si vous pensez qu'une erreur est liée à une indisponibilité du bac à sable, veuillez attendre un jour ouvré (États-Unis) avant de nous contacter. Les pannes se résolvent généralement d'elles-mêmes dans ce délai. En raison du risque d'indisponibilité, ne concevez pas vos processus de publication critiques de manière à ce qu'ils dépendent de l'environnement de bac à sable.

Étape suivante

Étape 2 : Créez un ID de test →