Introduction
Sherlock's est une solution de paiement de commerce électronique multicanale sécurisée conforme à la norme PCI DSS. Elle vous permet d’accepter et de gérer des transactions de paiement en prenant en compte les règles métier liées à votre activité (paiement à la livraison, paiement différé, paiement récurrent, paiement en plusieurs fois…).
L’objectif du présent document est d’expliquer l'intégration du moyen de paiement Google Pay™ dans Sherlock's.
À qui s’adresse ce document ?
Ce document a pour objectif de vous aider à implémenter le moyen de paiement Google Pay™ sur votre site de commerce électronique.
Il comprend :
- des informations fonctionnelles à votre attention ;
- des instructions d'implémentation à destination de votre équipe technique.
Pour avoir une vue d’ensemble de la solution Sherlock's, nous vous conseillons de consulter les documents suivants :
- Présentation fonctionnelle
- Guide de configuration des fonctionnalités
Comprendre les paiements Google Pay™ avec Sherlock's
Principes généraux
Google Pay™ est un moyen de paiement proposé par la société Google pour effectuer des paiements de manière simple et sécurisée sur applications mobiles ou sur site internet.
Le porteur de carte devra disposer d'un compte Google et pourra alors :
- utiliser une carte déjà enregistrée dans son Google Wallet
- ajouter une nouvelle carte dans son Google Wallet et l'utiliser
- utiliser une carte déjà enregistrée sur son compte Google
Grâce à cette solution, les clients paient leurs achats en ligne sans devoir saisir les coordonnées de leurs cartes à chaque fois. De plus, l’application wallet leur permet de consulter l’historique de leurs transactions.
Règles d’acceptation
Fonctionnalités disponibles
Canaux de paiement | ||
---|---|---|
Internet | V | Canal de paiement par défaut |
MAIL_ORDER, TELEPHONE_ORDER | X | |
Télécopie | X | |
SVI | X |
Typologies de paiement | ||
---|---|---|
Paiement immédiat | X | |
Paiement en fin de journée | V | Méthode par défaut |
Paiement différé | V | Limité à 6 jours. |
Paiement à l'expédition | V | Limité à 6 jours. |
Paiement en plusieurs fois | X | |
Paiement par abonnement | X | |
Paiement par fichier | X | |
Paiement OneClick | X |
Gestion des devises | ||
---|---|---|
Acceptation multidevise | V | |
Règlement en devise | X | |
Conversion dynamique des devises | X |
Caractéristiques du moyen de paiement Google Pay™
Voici les règles appliquées au paiement Google Pay™ :
Caractéristique | Restriction | Restriction |
---|---|---|
Moyen de paiement | MASTERCARD VISA VISA
ELECTRON |
Sherlock's |
2 modes de fonctionnements sont possibles :
- CRYPTOGRAM_3DS : dans ce mode, l'authentification du porteur de carte est assurée par Google qui transmet un token (DPAN) correspondant à la carte utilisée, et détokenisable uniquement par l'émetteur de la carte (compatible Google Pay™). Pour ce mode vous devez vous assurer que vos acquéreurs supportent le flux Google Pay™.
- PAN_ONLY : dans ce mode Google transmet les données carte (PAN + date d'expiration) de manière chiffrée, l'authentification du porteur se faisant alors par 3DS.
Tous les contrôles anti-fraude sont pris en charge dans le cadre des paiements Google Pay™ (outil fraude).
Google impose une charte graphique pour le logo à utiliser sur vos pages de paiement. Les informations liées à cette charte sont disponibles ici : https://developers.google.com/pay/api/web/guides/brand-guidelines
Demande d’authentification
Durant la cinématique de paiement, l’authentification du porteur de carte peut être réalisée par Google Pay™ ou la banque émettrice (3DS) selon le mode utilisé par l'internaute.
Quelque soit ce mode (CRYPTOGRAM_3DS/PAN_ONLY), si l'internaute valide
son paiement via Google Pay™, alors Google vous
transmettra des données de paiement chiffrées avec notre clé. Vous devrez
nous les transmettre via la fonction paymentDataProviderCheck
pour
déchiffrement et contrôle à notre niveau.
A partir de là deux cas se présentent à vous :
- Mode "CRYPTOGRAM_3DS" : Si l'internaute utilise une carte enrôlée
dans son Google Wallet, alors l'authentification est assurée par Google
et nous vous retournerons en réponse les données de paiement (DPAN,
CAVV/TAVV, ECI) que vous pourrez alors utiliser pour appeler la fonction
cardOrder
et ainsi réaliser la demande d'autorisation.
- Mode "PAN_ONLY" : Si l'internaute utilise une carte enregistrée dans
son compte utilisateur Google, alors il faudra procéder à une
authentification 3DS. Nous vous retournerons des données de paiement
(paymentToken, expiryDate) qu'il faudra utiliser pour appeler notre
fonction
cardCheckEnrollment
pour ensuite rediriger l'internaute vers la page d'authentification de sa banque, puis la fonctioncardValidateAuthenticationAndOrder
pourra être utilisée pour réaliser la demande d'autorisation.
Demande d'autorisation
Le délai de capture maximum autorisé pour un paiement Google Pay™ est de 6 jours.
Si vous renseignez un délai de capture supérieur, il sera automatiquement forcé par la plateforme de paiement.
Remise en banque des paiements
Les paiements sont remis en banque conformément aux modalités de paiement définies par vous-même. En standard, la remise en banque est déclenchée la nuit à partir de 22h00, fuseau horaire CET (heure d’Europe Centrale), via un échange de fichier avec l’acquéreur.
Ouvrir votre contrat d'acceptation Google Pay™
Afin de proposer le moyen de paiement Google Pay™ sur votre site Web, vous devez :
- préalablement souscrire un contrat "CB" de Vente À Distance auprès de votre banque acquéreur. Le numéro de contrat que vous donne alors votre banque doit nous être transmis pour enregistrement dans notre système d’information. Les fonds collectés chaque soir seront transférés sur le compte associé au contrat VAD.
- vous inscrire auprès de Google Pay™ et suivre le process d'intégration défini par Google https://developers.google.com/pay/api/web/overview en parallèle de l'intégration de nos services défini ci-dessous si vous souhaitez utiliser Sherlock’s Office.
Une fois l'inscription réalisée auprès de Google nous pourrons ajouter ce contrat dans notre référentiel et vous pourrez réaliser vos tests sur notre environnement de recette. Après validation de vos tests fonctionnels nous pourrons procéder à l'activation de Google Pay™ en production.
Effectuer un paiement Google Pay™
Sherlock's vous offre actuellement la possibilité d'intégrer le moyen de paiement Google Pay™ via Sherlock’s Office qui vous laisse la possibilité d’afficher vous-même vos pages de paiement et qui fonctionne par un dialogue de serveur à serveur.
Vous devrez également suivre le guide d'intégration Google Pay et suivre les différentes étapes indiquées dans cette checklist pour ajouter ce moyen de paiement à vos pages.
Données spécifiques à renseigner au niveau de l'API Google Pay™
Nom du champ | valeur |
---|---|
gateway | wlsips |
gatewayMerchantID | merchantId WL
Sips |
Contrairement à d'autres moyens de paiement traités via Sherlock’s Office, vous n'aurez pas besoin de posséder un niveau d'accréditation PCI-DSS SAQ-D pour Google Pay™, puisque vous n'aurez pas à manipuler de données de paiement sensibles sur vos serveurs.
Les modes de remise disponibles pour une transaction Google Pay™ sont les suivants :
- Mode annulation : mode par défaut, il permet de remiser la
transaction à une date prédéfinie, appelée délai de capture. Lorsque ce
délai de capture est atteint, la remise est automatiquement envoyée. Ce
délai est paramétré via le champ
captureDay
, sa valeur par défaut est 0 (paiement en fin de journée). - Mode validation : vous devez valider la transaction pour déclencher la remise. Un délai de capture doit aussi être défini. Lorsque ce délai de capture est atteint ou dépassé, vous ne pourrez plus valider la transaction, celle-ci expire donc automatiquement.
Le diagramme ci-dessous explique les différents états par lesquels peuvent passer les transactions selon le mode de capture choisi :
Effectuer un paiement Google Pay avec Sherlock’s Paypage
La cinématique de paiement pour Sherlock’s Paypage est décrite ci-dessous :
Paramétrer la requête de paiement
Le champ suivant a un comportement particulier :
Nom du champ | Remarques / règles |
---|---|
captureDay | La valeur envoyée dans la requête doit être de 6 au
maximum. Une valeur supérieure sera forcée à 6. |
Analyser la réponse
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).paymentMeanBrand = carte
utilisée dans le wallet (VISA, MASTERCARD).paymentMeanType =
CARDpaymentMeanDataProvider =
GOOGLEPAY (uniquement pour le mode
CRYPTOGRAM_3DS)walletType = GOOGLE_WALLET
(uniquement pour le mode PAN_ONLY)responseCode =
00 |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la
fraude. Si vous n’avez pas opté pour l’option « nouvelle
tentative de paiement » (pour plus de détails veuillez consulter
le Guide de configuration des
fonctionnalités), vous pouvez proposer à votre
client de payer avec un autre moyen de paiement en générant une
nouvelle requête. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Effectuer un paiement Google Pay™ avec Sherlock’s Office
Le processus de paiement pour Sherlock’s Office est décrit ci-dessous :
Cinématique du mode CRYPTOGRAM_3DS
Ce mode correspond à une authentification du porteur via l'application Google Pay™
Cinématique du mode PAN_ONLY
Ce mode correspond à une authentification 3DS du porteur via l'emetteur de sa carte. Il s'agit ici d'un fonctionnement de type "Wallet Externe"
Paramétrer la requête de déchiffrement du token Google Pay™
Pour effectuer un paiement Google Pay™ avec Sherlock’s Office, vous devez intégrer dans votre page de paiement le bouton Google Pay™ et implémenter le code javascript associé. Puis nous transmettre le token de paiement produit par Google Pay™ afin que nous en assurions le déchiffrement via la méthode paymentDataProviderCheck.
Les champs suivants doivent être renseignés :
Nom du champ | Remarques/règles |
---|---|
intermediateServiceProvider | Facultatif (uniquement pour la gestion de plusieurs boutiques partageant une même clé secrête) |
merchantId | Obligatoire, identifiant Sips de votre boutique |
interfaceVersion | Obligatoire |
keyVersion | Obligatoire |
seal | Obligatoire, voir méthode de calcul |
sealAlgorithm | Facultatif (par défaut HMAC-SHA-256) |
paymentMeanDataProvider | GOOGLEPAY |
paymentData | Obligatoire, token de paiement transmis par Google Pay™ |
{
"protocolVersion": "ECv2",
"signature": "MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q==",
"intermediateSigningKey": {
"signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\\u003d\\u003d\"}",
"signatures": [
"MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"
]
},
"signedMessage": "{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}"
}
Analyser la réponse
Liste des différents états possibles de la réponse :
Etat | responseCode | action à réaliser |
---|---|---|
Déchiffrement réussi | 00 | Vous pouvez enchainer la suite de la cinématique. |
Contrat non valide | 03 | Vérifiez que vous disposez bien d'un contrat Google Pay™ déclaré sur WL Sips. |
Transaction non valide | 12 | Vérifiez le calcul de Seal, les données de la requête. |
Donnée non valide | 30 | L'une des données obligatoires est manquante ou une donnée a un format non conforme. |
Problème technique | 99 | Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Les champs spécifiques suivants sont valorisés dans le cas d’un déchiffrement du token de paiement Google Pay™.
Nom du champ | Remarques / règles |
---|---|
paymentToken | Toujours valorisé, DPAN si CRYPTOGRAM_3DS / token Sips si PAN_ONLY |
authenticationResult | Présent uniquement en mode CRYPTOGRAM_3DS, contient les données d'authentification Google Pay™ |
Le champ authenticationResult (uniquement dans le mode CRYPTOGRAM_3DS) est un conteneur composé des champs suivants.
Nom du champ | Remarques / règles |
---|---|
holderAuthentProgram | Ici valorisé à "GOOGLEPAY" |
googlePay.eci | Code ECI fourni par Google Pay™ |
googlePay.cavv | cryptograme d'authentification fourni par Google Pay™ |
Paramétrer la requête de paiement en mode CRYPTOGRAM_3DS
Pour effectuer un paiement avec Sherlock’s Office, vous devez
utiliser la méthode
cardOrder
.
La requête de paiement Google Pay™ comprend tous les champs obligatoires du connecteur que vous utilisez.
Les champs suivants ont un comportement particulier :
Nom du champ | Remarques / règles |
---|---|
panEntryMode | OEMPAY |
paymentMeanDataProvider | GOOGLEPAY |
authenticationResult.googlepay.cavv | Cryptogramme fourni par Google Pay™ et récupéré en sortie du paymentDataProviderCheck. |
authenticationResult.googlepay.eci | ECI indicateur fourni par GGoogle Pay™ et récupéré en sortie du paymentDataProviderCheck. |
paymentMeanBrand | Doit être valorisé avec la marque de la carte (Visa, Mastercard, …). |
cardNumber | DPAN fourni par Google Pay™ et récupéré en sortie du paymentDataProviderCheck (paymentToken). |
cardExpiryDate | Date d’expiration du DPAN fourni par Google Pay™ et récupéré en sortie du paymentDataProviderCheck. |
orderChannel | INTERNET ou INAPP |
holderAuthentProgram | GOOGLEPAY |
walletType | Ne doit pas être renseigné. |
schemeTokenData.tavv | Cryptogramme fourni par Google Pay™ et récupéré en sortie du paymentDataProviderCheck. Remplace le champ authenticationResult.googlepay.cavv (toujours utilisable) en protocole CB2A 161 |
Analyser la réponse du mode CRYPTOGRAM_3DS
Le tableau suivant récapitule les différents cas de réponse à traiter :
État | Champs de la réponse | Action à réaliser |
---|---|---|
Paiement accepté | acquirerResponseCode = 00
authorisationId = (voir le
Dictionnaire des données).paymentMeanBrand = carte
utilisée dans le wallet (VISA, MASTERCARD).paymentMeanDataProvider =
GOOGLEPAYresponseCode =
00 |
Vous pouvez livrer la commande. |
Refus acquéreur | acquirerResponseCode = (voir
le Dictionnaire des données).responseCode =
05 |
L’autorisation est refusée pour un motif non lié à la fraude, vous pouvez proposer à votre client de payer avec un autre moyen de paiement en générant une nouvelle requête. |
Refus suite problème technique | acquirerResponseCode = 90-98
responseCode = 90, 99
|
Problème technique temporaire lors du traitement de la transaction. Proposez à votre client de refaire un paiement ultérieurement. |
Pour connaître l'intégralité des codes réponses (responseCode
) et codes réponses
acquéreur (acquirerResponseCode
), veuillez vous
référer au Dictionnaire des
données.
Etape 1 : vérification de l’enrôlement de la carte récupérée dans le wallet Google
Vous vérifiez l’enrôlement 3-D Secure de la carte en faisant appel à la
méthode cardCheckEnrollment
.
Paramétrer la requête
Dans un contexte 3-D Secure, en dehors des données obligatoires de la méthode, voici les données de la requête auxquelles vous devez prêter attention.
Nom du champ | Règle de valorisation |
---|---|
panEntryMode | WALLET |
walletType | GOOGLE_WALLET |
amount | Montant du paiement. Le montant est affiché sur la page d’authentification du client. |
captureDay | Doit être inférieur ou égal à 6. Si la valeur est
supérieure à 6, le serveur Sherlock's le force à
6. |
cardExpiryDate | Valeur récupérée à l’étape précédente, stockée préalablement dans votre système d’information. |
cardNumber | Token de la carte |
merchantName | Nom de la boutique de votre site affiché sur la page
d’authentification de la banque du client. Si non renseigné,
sera affiché le nom de votre boutique renseigné lors de
l’inscription de votre boutique sur Sherlock's. |
merchantUrl | URL de votre site affichée sur la page d’authentification
de la banque du client. Si non renseigné, sera affiché l’URL
de votre boutique renseignée lors de l’inscription de votre
boutique sur Sherlock's. |
orderChannel | Pour les paiements effectués par Internet, valoriser : INTERNET |
panType | TOKEN_PAN |
challengeMode3DS | Indiquez votre souhait d'exemption. Si le champ n'est pas renseigné, le champ est à la charge de l'emetteur. |
paymentMeanBrand | Valeur renvoyée par le paymentDataProviderCheck |
Analyser la réponse
Lorsque vous recevez la réponse, avant de l'analyser et suivre les conseils du tableau ci-dessous, vérifiez le seal. Le seal recalculé, doit être identique au seal reçu.
Cas d’usage | Champs de la réponse | Action à réaliser |
---|---|---|
Carte enrôlée 3-D Secure |
redirectionStatusCode =
00 |
Vous devez rediriger le client sur l’ACS de sa banque via
l’URL contenue dans le champ redirectionUrl (voir l'étape
suivante). |
Carte non enrôlée 3-D Secure |
redirectionStatusCode =
01 |
Passez à l’étape 5 : demande d’autorisation. |
Boutique non enrôlée au programme 3-D Secure |
redirectionStatusCode =
40 |
Veuillez contacter l'assistance technique de LCL. |
Erreur technique empêchant le bon déroulement d’une cinématique 3-D Secure. | redirectionStatusCode = 10,
80, 89 |
Stoppez le paiement si vous souhaitez bénéficier de la garantie de paiement et éviter les impayés. Sinon, passer à l'étape 5 : autorisation. |
Transaction invalide |
redirectionStatusCode =
12 |
Une ou plusieurs données de la requête sont invalides.
Consultez le champ errorFieldName , et corrigez
la valeur incorrecte. |
Token inconnu |
redirectionStatusCode =
12 |
Vérifiez le champ cardNumber . |
Carte expirée | redirectionStatusCode =
14 |
Redemandez à votre client de sélectionner un autre moyen de paiement ou de saisir un nouveau moyen de paiement. |
Clé secrète ou version de clé invalide |
redirectionStatusCode =
34 |
Vérifiez la clé secrète utilisée (champ secretKey ) et la version de
la clé (champ keyVersion ) |
Détokenisation Hors Service | redirectionStatusCode =
99responseCode =
99 |
Il s’agit éventuellement d’un problème ponctuel, resoumettez la requête une seconde fois. En cas de nouvelle erreur, stoppez le processus. Merci alors d’alerter l'assistance technique de LCL de l’incident. |
Etape 2 : redirection du client vers l’ACS de sa banque
Merci de vous référer à la même étape du paragraphe Connecteur Sherlock’s Office.
Etape 3 : récupération des données de l’authentification du client
Merci de vous référer à la même étape du paragraphe Connecteur Sherlock’s Office.
Etape 4 : demande d’autorisation 3-D Secure
Merci de vous référer à la même étape du paragraphe Connecteur Sherlock’s Office.
Gérer vos transactions Google Pay™
Opérations de caisse disponibles
Les opérations suivantes sont disponibles sur les transactions Google Pay™ :
Gestion de caisse | ||
---|---|---|
Annulation | V | Annulation possible sur le montant partiel de la transaction. |
Validation | V | Validation possible sur le montant partiel de la transaction. |
Remboursement | V | Remboursement possible sur le montant partiel de la transaction et sur les montants supérieurs au montant initial (remboursement illimité). |
Duplication | X | |
Recyclage | X |
Le diagramme ci-dessous vous permet de savoir quelle opération de gestion de caisse est disponible lorsqu'une transaction est dans un état donné :
Consulter vos transactions Google Pay™
Journaux
Les journaux mis à disposition par Sherlock's vous permettent d’avoir une vision exhaustive et consolidée de vos transactions, opérations de caisse, situation comptable et impayés. Vous pouvez utiliser ces informations pour enrichir votre système d’information.
La disponibilité des transactions Google Pay™ pour chaque type de journal est récapitulée dans le tableau ci-dessous :
Disponibilité des journaux | |
---|---|
Journal des transactions | V |
Journal des opérations | V |
Journal de rapprochement des transactions | V |
Journal de rapprochement des impayés | V |
paymentMeanBrand
est
renseigné avec la valeur Visa ou Mastercard. Dans le journal des
transactions la mention "GOOGLEPAY" est présente dans le champ paymentMeanDataProvider
(position 91) pour les transactions en mode CRYPTOGRAM_3DS. Pour les
transactions en mode PAN_ONLY la mention "GOOGLE_WALLET" est présente dans
le champ
walletType
(position 43).Sherlock's Gestion
Vous pouvez consulter le détail de vos transactions Google Pay™ et effectuer différentes opérations de gestion de caisse grâce à Sherlock's Gestion.
Voici le détail d’une transaction Google Pay™ :
Exemple de capture SOE d'une transaction Mastercard.
Effectuer vos tests Google Pay™
Tester avec Sherlock’s Paypage
Deux modes de test sont disponibles :
- le mode « mocké » avec un bouton « Pay with GooglePay mock » (modes PAN_ONLY et CRYPTOGRAM_3DS disponibles)
- le mode connecté avec les données de tests Google avec un bouton « Payer avec GooglePay » (rendu équivalent au rendu final de production mais mode CRYPTOGRAM_3DS non disponible)
Contacter votre interlocuteur Sherlock's qui activera le mode souhaité sur votre boutique.
Mode mocké:
Un bouton mock Google Pay™ s'affichera sur la page de sélection des moyens de paiement.
Vous pourrez alors choisir de tester lo mode CRYPTOGRAM_3DS ou le mode PAN_ONLY :
- Entrez votre merchantId
- Utiliser nos cartes de test pour tester différents responseCode
- En mode CRYPTOGRAM_3DS, entrez également un cryptogramme
Mode connecté avec les données de test Google:
Seul le mode PAN_ONLY est disponible.
Vous devez utiliser un navigateur connecté sur un compte de test Google :
- créer votre propre compte de tests Google (c’est-à-dire créer un compte Google avec une adresse mail existante ou créer une adresse mail dédiée)
- avec votre compte de test, utilisez ce lien et cliquez sur le bouton "rejoindre le groupe"
Effectuez le test en étant connecté à votre compte Google de test. Lorsque vous cliquez sur le bouton payer avec Google sur la Paypage, le wallet de test s'ouvre et vous propose une carte à utiliser.
N'utilisez pas un navigateur connecté avec votre compte personnel Google, sans quoi vous risqueriez d’utiliser vos cartes bancaires personnelles enregistrées chez Google en environnement de recette.
Vous pouvez tester plusieurs codes réponse en faisant varier le montant de la transaction :
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 00 alors le code réponse sera 00.
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 05 alors le code réponse sera 05.
- Si le montant YY,XX de la transaction a pour centimes d'euro XX égale à 99 alors le code réponse sera 99.
- Pour les autres valeurs le code réponse sera toujours 00.
Tester avec Sherlock’s Office
Veuillez vous rapprocher de Google pour obtenir des données de test.