Trésorerie

Présentation

Les paiements standards de Google acceptent les modes de paiement (FOP) en espèces, comme les achats dans un commerce de proximité (7-Eleven, par exemple). De manière générale, un utilisateur qui souhaite payer des produits génère un numéro de référence via l'intégrateur de paiements. L'utilisateur apporte ensuite ce numéro de référence à une supérette, un kiosque ou une banque, et paie ce numéro.

Ajouter un paiement
1) L'utilisateur ajoute un mode de paiement
Choisissez où payer
2) Il choisit ensuite où payer
Instructions de paiement
3) Enfin, ils reçoivent des instructions de paiement

Concepts et terminologie

Symboles et conventions

Les mots clés "DOIT", "DOIT", "NE DOIT PAS", "OBLIGATOIRE", "DOIT", "NE DOIT PAS", "DOIT", "NE DOIT PAS", "RECOMMANDÉ", "PEUT" et "FACULTATIF" utilisés dans ces documents doivent être interprétés tel que décrit dans le document RFC 2119.

Codes temporels

Tous les codes temporels sont exprimés en millisecondes écoulées depuis l'epoch Unix (1er janvier 1970) au format UTC.

Exemple :

  • 23 avril 2019 20:23:25 GMT = 1556051005000 millisecondes
  • 16 août 2018 12:28:35 GMT = 1534422515000 millisecondes

Montants

Dans cette API, les valeurs monétaires sont dans un format appelé "micros", la norme de Google. Les micros sont un format à précision fixe basé sur des nombres entiers. Pour représenter une valeur monétaire en micros, multipliez la valeur de la devise standard par 1 000 000.

Exemple :

  • 1,23 USD = 1 230 000 microUSD
  • 0,01 USD = 10 000 microUSD

Idempotence

Tous les appels de méthode dans cette API doivent avoir un comportement idempotent. Google relance sporadiquement les requêtes pour s'assurer que les transactions sont dans le même état des deux côtés. Les intégrateurs ne doivent pas tenter de traiter à nouveau une demande déjà traitée avec succès. La réponse en cas de réussite du traitement doit être indiquée à la place. Toutes les méthodes ont un RequestHeader commun, qui contient un requestId. Ce requestId est la clé d'idempotence de tous les appels.

Toute réponse non terminale (un succès non HTTP de type 200) ne doit pas être traitée de manière idempotente. Ainsi, une requête ayant précédemment reçu un code 400 (requête incorrecte ou condition préalable ayant échoué), lorsqu'elle est appelée une deuxième fois, ne doit pas renvoyer idempotemment la valeur 400. Elle doit donc être réévaluée. Lors de la réévaluation, la valeur peut renvoyer un code 400 ou être traitée correctement.

Pour en savoir plus sur l'idempotence, consultez ce guide détaillé.

Intégrateur

Une entreprise qui utilise la plate-forme de paiement Google pour son activité. Il peut s'agir d'une entreprise interne (propriétaire), comme YouTube ou AdWords, ou d'une entreprise externe (3P) souhaitant intégrer ses services pour fonctionner avec l'écosystème de Google.

Mode de paiement

Mode de paiement. C'est plus général qu'un instrument. Les modes de paiement Visa, MasterCard et PayPal sont tous des modes de paiement acceptés.

Instrument

Un mode de paiement donné par un client spécifique. Il peut s'agir, par exemple, de la carte de crédit d'un utilisateur ou de son compte PayPal. Un mode de paiement tokenisé pour un client spécifique est également un mode de paiement, car il s'agit d'une instance d'un mode de paiement pour ce client, stocké de manière sécurisée sur notre système.

Jeton

Représentation, sur le système de Google, du mode de paiement d'un utilisateur spécifique. Étant donné qu'il contient toutes les informations nécessaires pour effectuer un achat, un jeton est également un instrument. Il peut s'agir d'un numéro de compte dont dispose l'utilisateur auprès de son intégrateur.

Flux clés

Google utilise deux flux clés pour créer et payer ces numéros de référence:

  1. Générer un flux de numéros de référence
  2. Procédure avec numéro de référence de paiement.

Par la suite, le rapprochement et le règlement des achats qui en résultent sont gérés par le flux de versements.

Le schéma ci-dessous illustre chacun de ces flux.

Présentation des modes de paiement en espèces

Présentation générale du mode de paiement en espèces

Les deux premiers flux sont décrits plus en détail dans les sections suivantes. Consultez la page Flux de paiement si vous souhaitez en savoir plus à ce sujet.

Générer un numéro de référence

L'objectif du flux de génération des numéros de référence est de créer et d'échanger un identifiant (numéro de référence) que Google et l'intégrateur peuvent utiliser pour identifier un achat. L'utilisateur peut ensuite utiliser ce numéro de référence dans un commerce de proximité, un kiosque ou une banque pour finaliser l'achat. Cet identifiant est généré par l'intégrateur à la demande de Google en appelant la méthode generateReferenceNumber. La demande de génération du numéro de référence inclut un montant et une description de la transaction.

Le schéma suivant montre comment un numéro de référence est généré et envoyé au client avec des instructions.

Générer un flux de numéros de référence

Numéro de référence de génération d’espèces

Voici la liste des objets et de ce qu'ils représentent:

  • Utilisateur: il s'agit de la personne qui souhaite effectuer un paiement à l'aide de ce mode de paiement.
  • Interface Google: il s'agit de l'interface dans laquelle l'utilisateur effectue son achat. Cela peut se faire par le biais du Web ou d'une application.
  • Serveur Google: serveur backend de Google qui demande la génération du numéro de référence et crée les instructions de paiement pour l'utilisateur.
  • Serveur de l'intégrateur de paiements: serveur backend de l'intégrateur de paiements, qui assure le suivi des détails du paiement et génère le numéro de référence.

Ce flux commence avec l'utilisateur qui souhaite utiliser ce mode de paiement en espèces.

  1. L'utilisateur accède à l'interface utilisateur Google qui envoie une demande de numéro de référence.
  2. L'UI Google envoie un message au serveur Google indiquant qu'il a besoin d'un numéro de référence (getReferenceNumber).
  3. Le serveur Google demande au serveur d'intégrateur de paiements de générer un numéro de référence (generateReferenceNumber).
  4. Le serveur d'intégration des paiements génère le numéro de référence et l'envoie au serveur Google.
  5. Le serveur Google crée des instructions de paiement associées au numéro de référence. Elle envoie ensuite ces informations à l'interface utilisateur Google.
  6. L'UI Google envoie ces instructions et le numéro de référence à l'Utilisateur.

Remarques sur les numéros de référence

Les numéros de référence ne peuvent être payés qu'une seule fois et peuvent être annulés via la procédure d'annulation de numéro de référence. De plus, les numéros de référence doivent être alphanumériques et accepter plusieurs formats d'affichage.

En plus d'afficher le numéro de référence, les interfaces utilisateur de Google peuvent éventuellement le représenter au format Code 128 (format de code-barres). D'autres formats de codes-barres peuvent être acceptés sur demande.

Numéro de référence de paiement

L'utilisateur utilisera ce numéro de référence dans un commerce de proximité, un kiosque ou une banque pour identifier l'achat qu'il souhaite payer. L'intégrateur doit demander à l'utilisateur de confirmer l'achat payé en affichant le montant, la date et la description de la transaction avant le paiement.

Une fois que l'utilisateur décide de payer, il doit payer la totalité et une seule fois. Cette API n'accepte pas les paiements excédentaires ou insuffisants pour un même numéro de référence. Il n'est pas non plus possible d'effectuer des paiements multiples vers un même numéro de référence.

Une fois le paiement effectué, l'intégrateur doit immédiatement informer Google que ce numéro de référence a été payé via la méthode referenceNumberPaidNotification. En appelant cette méthode quelques secondes après le paiement physique de l'utilisateur, l'intégrateur lui permet de recevoir ses produits rapidement. (Cet appel peut être ajouté à une file d'attente si le réseau est en panne.)

Une fois le paiement effectué, le numéro de référence et le montant seront indiqués sur le relevé de paiement envoyé le T+2 jours.

Voici un diagramme séquentiel illustrant le paiement d'un numéro de référence.

Flux du numéro de référence du paiement

Flux du numéro de référence du paiement

Les objets du schéma représentent ce qui suit:

  • Utilisateur: il s'agit de la personne qui souhaite effectuer un paiement à l'aide de ce mode de paiement.
  • Supérette: lieu où l'utilisateur effectue le paiement en utilisant le numéro de référence et les instructions fournies (une supérette, par exemple).
  • Serveur de l'intégrateur de paiement: serveur backend de l'intégrateur de paiement, qui assure le suivi des détails des paiements.
  • Serveur Google: serveur backend de Google qui demande la génération du numéro de référence et crée les instructions de paiement pour l'utilisateur.

Ce flux commence par l'action de l'utilisateur qui se rend dans une supérette afin d'effectuer un paiement conformément aux instructions qui lui sont fournies.

  1. L'Utilisateur se rend dans une supérette pour effectuer un paiement.
  2. Une fois la transaction effectuée, la supérette informe l'intégrateur des paiements.
  3. Le serveur d'intégrateur de paiements envoie un message de réussite au commerce de proximité.
  4. La Supérette indique que la transaction a abouti à l'Utilisateur et que les marchandises lui seront bientôt livrées.
  5. Le serveur d'intégration des paiements envoie un message au serveur de Google indiquant que le numéro de référence a été payé (referenceNumberPaidNotification). Cette étape ne doit pas bloquer l'étape 4.
  6. Le serveur Google répond par un message de réussite au serveur de l'intégrateur de paiements.

Annuler le numéro de référence

Les numéros de référence peuvent être annulés par Google. Si Google annule un numéro de référence, la méthode cancelReferenceNumber est appelée. Si cet appel est renvoyé avec succès, il n'est plus possible de payer ce numéro de référence, et l'intégrateur doit refuser le paiement correspondant à ce numéro. Une fois cet appel réussi, tous les futurs appels à referenceNumberPaidNotification échoueront.

Si le processus de paiement a déjà commencé (par exemple, si l'utilisateur a saisi son numéro de référence sur un kiosque, mais qu'il n'a pas encore payé), l'intégrateur doit renvoyer un code de réponse HTTP 423 avec ErrorResponse contenant USER_ACTION_IN_PROGRESS.

Étape suivante: Flux de paiement