logo Mercanet

Release 24.6

aller directement au contenu

Rechercher par mots clés

Google Pay™

Pour rechercher dans la page utiliser Ctrl+F sur votre clavier

Mercanet 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 Mercanet.

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 Mercanet, nous vous conseillons de consulter les documents suivants :

  • Présentation fonctionnelle
  • Guide de configuration des fonctionnalités

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.

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

Voici les règles appliquées au paiement Google Pay™ :

Caractéristique Restriction Restriction
Moyen de paiement
MASTERCARD
VISA
VISA ELECTRON
Mercanet

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

Attention: le CVV n’est pas valorisé dans la cinématique Google Pay™.

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 fonction cardValidateAuthenticationAndOrder pourra être utilisée pour réaliser la 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.

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.

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 Office (M2M).

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.

Mercanet vous offre actuellement la possibilité d'intégrer le moyen de paiement Google Pay™ via Office (M2M) 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 Office (M2M), 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 :



La cinématique de paiement pour Paypage est décrite ci-dessous :


Étapes d'un paiement Google Pay via Paypage

1) Le client procède au paiement. 2) Il est redirigé vers la page Mercanet/ 3/Il choisit le moyen de paiement Google Pay. 4) Une pop-in Google Pay apparait avec la liste des moyen de paiements du client s'il est identifié sur son navigateur avec son compte Google, sinon il devra saisir ses données d'identification. 5) Le serveur Google Pay traite le chiffrement des données sensibles en fonction du moyen de paiement selectionné (s'il s'agit d'une carte enrôlée dans son wallet Google Pay, le client pourra authentifier sa transaction via l'application Google Pay de son mobile : mode CRYPTOGRAM_3DS). 6) Les données chiffrées sont transférées vers Sips et le client est redirigé vers la page Mercanet. 6')Si la carte selectionnée n'est pas enrôlée dans un compte Google Pay, mais simplement enregistrée dans les données de paiement du compte Google du client, alors il sera redirigé vers la page d'authentification de sa Banque (mode PAN_ONLY). 7) S'il clique sur le bouton de retour à la boutique, il est redirigé vers votre site Web ce qui délenche l'envoi de la réponse manuelle. 8) Mercanet envoie une réponse automatique.

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.

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 = CARD
paymentMeanDataProvider = 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.

Le processus de paiement pour Office (M2M) est décrit ci-dessous :



Ce mode correspond à une authentification du porteur via l'application Google Pay™



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"



Pour effectuer un paiement Google Pay™ avec Office (M2M), 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™
Note: vous devez nous transmettre la données "paymentToken = paymentData.paymentMethodData.tokenizationData.token;" dans son intégralité en conservant son format JSON.
Note: Exemple de paymentToken :
{
  "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\"}"
}

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™

Pour effectuer un paiement avec Office (M2M), 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

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 = GOOGLEPAY
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, 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.

Vous vérifiez l’enrôlement 3-D Secure de la carte en faisant appel à la méthode cardCheckEnrollment.

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 Mercanet 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 Mercanet.
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 Mercanet.
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

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

responseCode = 00

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

responseCode = 00

redirectionStatusCode = 01
Passez à l’étape 5 : demande d’autorisation.
Boutique non enrôlée au programme 3-D Secure

responseCode = 40

redirectionStatusCode = 40
Veuillez contacter l'assistance technique de BNP Paribas.
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

responseCode = 12

redirectionStatusCode = 12
Une ou plusieurs données de la requête sont invalides. Consultez le champ errorFieldName, et corrigez la valeur incorrecte.
Token inconnu

responseCode = 14

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

responseCode = 34

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 = 99
responseCode = 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 BNP Paribas de l’incident.

Merci de vous référer à la même étape du paragraphe Connecteur Office (M2M).

Merci de vous référer à la même étape du paragraphe Connecteur Office (M2M).

Merci de vous référer à la même étape du paragraphe Connecteur Office (M2M).

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é :


Schéma trop complexe à décrire, merci de contacter le support sips@worldline.com

Les journaux mis à disposition par Mercanet 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
Note: pour les transactions Google Pay™, le champ 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).

Vous pouvez consulter le détail de vos transactions Google Pay™ et effectuer différentes opérations de gestion de caisse grâce à Mercanet Back Office.

Voici le détail d’une transaction Google Pay™ :

Exemple de capture SOE d'une transaction Mastercard.



Attention: Veuillez utiliser un environnement et des données dédiés aux tests de ce moyen de paiement (navigateur avec compte Google de test).

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 Mercanet 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.



Attention:

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.

Veuillez vous rapprocher de Google pour obtenir des données de test.

Retourner en haut de page Besoin d'aide ?

Besoin d'aide ?

Fermer