Flux de versement

Présentation

Un versement a lieu lorsque de l'argent est transféré d'une partie à une autre. (par exemple, lorsque de l'argent est envoyé de la banque de l'intégrateur de paiement à la banque de Google). Le schéma suivant illustre ce processus.

Fonctionnement du flux

Le schéma suivant illustre un exemple de fonctionnement du flux de paiement.

Intégrateur des paiements pour les versements à Google

Intégrateur des paiements pour les versements chez Google

Voici une liste d'objets utilisés dans ce schéma:

  • Serveur Google: serveur backend de Google qui vérifie l'authentification, ainsi que d'autres tâches d'authentification.
  • Intégrateur de paiement: entreprise qui propose un mode de paiement à ses clients.
  • Banque de l'intégrateur de paiement: banque émettrice que l'intégrateur utilise pour les transactions financières.
  • Banque Google: banque utilisée par Google pour les transactions.

La procédure de paiement ci-dessus commence par le serveur de Google.

  1. Les jours T+N, Google envoie la notification de relevé de paiement (remittanceStatementNotification).
  2. L'intégrateur de paiements informe le serveur Google qu'il a bien reçu la notification de relevé de paiement.
  3. L'intégrateur de paiements envoie également les détails du relevé de paiement (remittanceStatementDetails).
  4. Le serveur de Google répond avec l'instruction ainsi que le champ "transactionDetails".
  5. L'intégrateur de paiements les rapproche.
  6. L'intégrateur de paiements envoie un message (acceptRemittanceStatement) au serveur Google indiquant que l'instruction a été acceptée.
  7. L'intégrateur de paiements envoie également un message indiquant que la banque de l'intégrateur de paiement doit envoyer des fonds à la banque Google.
  8. La banque de l'intégrateur de paiement effectue un virement à la banque Google.

Bonnes pratiques et autres considérations

Durée

Les conditions de paiement sont définies dans le contrat et généralement exprimées sous la forme "T+N". T correspond à la fréquence à laquelle un relevé de paiement est généré et à la durée de la période couverte par chaque relevé. Dans l'exemple suivant, "T" correspond à un jour de transaction. N correspond au nombre de jours suivant la période de transaction où arrive le relevé de paiement.

Si N est configuré sur 2 et qu'une transaction est comptabilisée à 23:59:59.999 dans le fuseau horaire de facturation le mardi, elle apparaîtra dans un relevé le jeudi.

Déclarations négatives ou nulles

Les jours où il n'y a pas de transaction au cours de la période de facturation, aucune notification de relevé de paiement ne sera envoyée. En outre, si des remboursements au cours d'une période de facturation se traduisent par un montant net négatif de la facture, aucun relevé de paiement ne sera envoyé non plus. Ces transactions seront toutefois reportées sur la facture nette positive suivante, pour laquelle la notification de relevé de paiement sera envoyée. Si le montant net d'une transaction est nul pour une période de facturation donnée, des notifications de relevé de paiement sont envoyées.

Limites

Vous trouverez ci-dessous quelques exemples avec différentes limites. Une limite transactionnelle correspond au moment où la transaction commence ou fait l'objet d'un commit. N'oubliez pas que l'horodatage comptable correspond au moment où Google a comptabilisé cette transaction. Les limites d'un relevé de paiement commencent à 00:00:00.000 et se terminent à 23:59:59.000.

Transaction dans les limites

Événement
Prise de vue requestHeader.requestId
001

requestHeader.requestTimestamp






RemittanceStatementNotification requestHeader.requestTimestamp
01/03/2017 03:17:18.132


billingPeriod.startDate
01/01/2017 00:00:00.000

billingPeriod.endDate
La capture de la notification 01/01/2017 93:59 au-dessus de 90.19.

Limites du fractionnement des transactions

L'une des captures ci-dessous comporte tous les codes temporels au 01/01/2017, mais elle n'est prise en compte qu'à partir du 02/01/2017.

Événement
Prise de vue requestHeader.requestId
001

requestHeader.requestTimestamp






Prise de vue requestHeader.requestId
002

requestHeader.requestTimestamp
01/01/2017 23:59:58.253

responseHeader.responseTimestamp
01/01/2017 23:59:59.879

accounting00 2/0:0.0/01.
RemittanceStatementNotification requestHeader.requestTimestamp
03/01/2017 03:17:18.132

billingPeriod.startDate
01/01/2017 00:00:00.000

billingPeriod.endDate
La notification de refacturation 23:59

RemittanceStatementNotification requestHeader.requestTimestamp
01/03/2017 00:27:34.321

billingPeriod.startDate
02/01/2017 00:00:00.000

billingPeriod.endDate
Cette notification de refacturation 23:59

Puisque 002 a été comptabilisé le 02/01/2017, et non le 01/01/2017.

Rapprochement

Il peut arriver que Google envoie un relevé de paiement plus tard que prévu. C'est le cas, par exemple, si Google rencontre un bug qui retarde d'une journée la notification de l'attestation de paiement.

Si la méthode remittanceStatementDetails renvoie des transactions qui n'ont pas été effectuées au cours de la période de facturation par l'intégrateur, celui-ci doit immédiatement en informer Google. Autre possibilité : il y a des transactions que l'intégrateur attend, mais qui ne sont pas renvoyées. Une fois l'écart résolu, Google peut envoyer un nouveau relevé de paiement avec un nouvel ID.

Acceptation de la déclaration de paiement

Une instruction est considérée comme acceptée par l'intégrateur une fois que celui-ci a appelé la méthode acceptRemittanceStatement.

Les relevés doivent être payés dans les conditions nettes définies dans le contrat après acceptation. Les contestations doivent être gérées manuellement entre l'intégrateur et le responsable de compte.

Paiement

Les relevés de paiement fournissent les informations nécessaires concernant le montant à payer. Chaque relevé doit être payé dans son intégralité. En cas de disparité, l'intégrateur doit contacter son responsable de compte pour résoudre le litige. Dans ce cas, le relevé peut ne pas être intégralement payé.

Précision

Chaque frais est calculé à la précision définie comme le nombre d'unités mineures spécifié dans la norme ISO 4217 pour cette devise. Par exemple, INR et USD utilisent des unités mineures à deux chiffres, et JPY, des unités mineures à deux chiffres.

Si davantage de décimales sont nécessaires pour représenter les frais, Google arrondira à la petite unité mineure la plus proche. Les égalités la plus proche seront également arrondies à la tranche mineure la plus proche. Par exemple, si vous utilisez les unités mineures à deux chiffres de l'INR:

Frais calculés Frais arrondis
0.013 0,01
0,015 0,02
0,025 0,02
-0.013 -0,01
-0,025 -0,02

Cette valeur sera arrondie à chaque transaction, et non de façon groupée sur le relevé.