- Requête HTTP
- Corps de la requête
- Corps de la réponse
- RequestHeader
- Version
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
Notifie l'intégrateur d'un nouveau relevé de paiement.
Une notification de relevé est envoyée chaque fois qu'un nouveau relevé est émis. Il correspond à la somme que Google versera à l'intégrateur ou sur la somme que l'intégrateur doit à Google.
Si l'intégrateur renvoie un message de réussite, il accuse réception de l'instruction.
requestId
est également l'ID d'instruction (utilisé ailleurs). La combinaison de requestId
dans l'en-tête et paymentIntegratorAccountId
est la clé d'idempotence et identifie cette instruction de manière unique.
Si le point de terminaison rencontre une erreur lors du traitement de la requête, le corps de la réponse de ce point de terminaison doit être de type
.ErrorResponse
Voici un exemple de requête:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-statement-abc",
"requestTimestamp": "1502632800000"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"remittanceStatementSummary": {
"statementDate": "1502607600000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502521199000"
},
"dateDue": "1503212400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
}
}
Voici un exemple de réponse:
{
"responseHeader": {
"responseTimestamp": "1502632802000"
},
"paymentIntegratorStatementId": "334a",
"result": "ACCEPTED"
}
Requête HTTP
POST https://www.integratorhost.example.com/v1/remittanceStatementNotification
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
Représentation JSON |
---|
{ "requestHeader": { object ( |
Champs | |
---|---|
requestHeader |
OBLIGATOIRE: en-tête commun pour toutes les requêtes. |
paymentIntegratorAccountId |
OBLIGATOIRE: identifiant de compte de l'intégrateur de paiement qui identifie les contraintes contractuelles liées à cette instruction. |
remittanceStatementSummary |
OBLIGATOIRE: résumé de ce relevé de paiement. |
Corps de la réponse
Objet réponse pour la méthode de notification des déclarations de paiement.
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Représentation JSON |
---|
{ "responseHeader": { object ( |
Champs | |
---|---|
responseHeader |
OBLIGATOIRE: en-tête commun pour toutes les réponses. |
paymentIntegratorStatementId |
OBLIGATOIRE: identifiant que l'intégrateur connaît cette instruction. Il s'agit d'un code généré par l'intégrateur. |
result |
OBLIGATOIRE: résultat de cette notification d'instruction. |
RequestHeader
Objet d'en-tête qui est défini sur toutes les requêtes envoyées au serveur.
Représentation JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Champs | |
---|---|
requestId |
OBLIGATOIRE: Identifiant unique de cette requête. Il s'agit d'une chaîne d'une longueur maximale de 100 caractères, qui ne contient que les caractères "a-z", "A-Z", "0-9", ":", "-" et "_". |
requestTimestamp |
REQUIRED: horodatage de cette requête représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que ce code temporel correspond à environ 60 secondes de "now" (maintenant). Cet horodatage de requête n'est pas idempotent lors de nouvelles tentatives. |
userLocale |
OBSOLÈTE: code de langue ISO 639-2 Alpha 3 à deux ou trois lettres suivi éventuellement d'un tiret et du code pays ISO 3166-1 Alpha-2 (par exemple, "pt", "pt-BR", "fil" ou "fil-PH"). Utilisez-le pour faciliter le fonctionnement des champs |
protocolVersion |
OBLIGATOIRE: version de cette requête. |
Version
Un objet Version, qui est une forme structurée de la structure de version a.b.c
classique La compatibilité des versions majeures du même nombre est garantie. Notez que les modifications mineures et révisions peuvent être fréquemment modifiées sans préavis. L'intégrateur doit accepter toutes les requêtes liées à la même version majeure.
Représentation JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Champs | |
---|---|
major |
OBLIGATOIRE: version majeure. Cette option n'est pas garantie pour les demandes de compatibilité avec différentes versions. |
minor |
OBLIGATOIRE: version mineure. Cela indique des corrections de bugs importantes. |
revision |
OBLIGATOIRE: version mineure. Cela indique des corrections de bugs mineurs. |
RemittanceStatementSummary
Objet récapitulatif concernant un relevé de paiement.
Représentation JSON |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Champs | |
---|---|
statementDate |
OBLIGATOIRE: date (en Amérique/Los Angeles) à laquelle cette instruction a été créée. |
billingPeriod |
OBLIGATOIRE: période de facturation couverte par le relevé. |
dateDue |
FACULTATIF: date à laquelle le versement est dû. Elle est exprimée en millisecondes à partir de l'epoch. Il s'agit d'une date (elle commence donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation). Ce paramètre est défini tant que la valeur de |
currencyCode |
OBLIGATOIRE: code de devise ISO 4217 à trois lettres. |
totalDueByIntegrator |
OBLIGATOIRE: cette valeur est exprimée en micros dans la devise |
remittanceInstructions |
OBLIGATOIRE: indique comment procéder au paiement. |
BillingPeriod
Période de facturation de ce relevé.
Représentation JSON |
---|
{ "startDate": string, "endDate": string } |
Champs | |
---|---|
startDate |
OBLIGATOIRE: date de début de la période de facturation. Elle est exprimée en millisecondes à partir de l'epoch. Il s'agit d'une date (elle commence donc toujours à la première milliseconde de la journée dans le fuseau horaire de facturation). Il s'agit de la première milliseconde du jour de la période de facturation, soit 00:00:00.000 |
endDate |
OBLIGATOIRE: date de fin de la période de facturation. Elle est exprimée en millisecondes à partir de l'epoch. Il s'agit de la dernière milliseconde du dernier jour de la période de facturation (23:59:59.999). |
RemittanceInstructions
Structure contenant les informations sur le paiement de cette notification de paiement.
Représentation JSON |
---|
{ "memoLineId": string } |
Champs | |
---|---|
memoLineId |
OBLIGATOIRE: identifiant à placer sur la ligne de note pour le paiement afin d'identifier le versement. |
ResponseHeader
Objet d'en-tête défini sur toutes les réponses envoyées à partir du serveur.
Représentation JSON |
---|
{ "responseTimestamp": string } |
Champs | |
---|---|
responseTimestamp |
REQUIRED: horodatage de cette réponse représenté en millisecondes depuis l'epoch. Le récepteur doit vérifier que ce code temporel correspond à environ 60 secondes de "now" (maintenant). |
StatementNotificationResultCode
Codes de résultat pour la notification d'instruction.
Enums | |
---|---|
UNKNOWN_RESULT |
Ne définissez jamais cette valeur par défaut. |
ACCEPTED |
L'intégrateur a accepté cette déclaration. |