Method: remittanceStatementNotification

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
Champs
requestHeader

object (RequestHeader)

OBLIGATOIRE: en-tête commun pour toutes les requêtes.

paymentIntegratorAccountId

string

OBLIGATOIRE: identifiant de compte de l'intégrateur de paiement qui identifie les contraintes contractuelles liées à cette instruction.

remittanceStatementSummary

object (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 (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Champs
responseHeader

object (ResponseHeader)

OBLIGATOIRE: en-tête commun pour toutes les réponses.

paymentIntegratorStatementId

string

OBLIGATOIRE: identifiant que l'intégrateur connaît cette instruction. Il s'agit d'un code généré par l'intégrateur.

result

enum (StatementNotificationResultCode)

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 (Version)
  }
}
Champs
requestId

string

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

string (int64 format)

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
(deprecated)

string

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 userMessage dans la réponse.

protocolVersion

object (Version)

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

integer

OBLIGATOIRE: version majeure. Cette option n'est pas garantie pour les demandes de compatibilité avec différentes versions.

minor

integer

OBLIGATOIRE: version mineure. Cela indique des corrections de bugs importantes.

revision

integer

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 (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Champs
statementDate

string (int64 format)

OBLIGATOIRE: date (en Amérique/Los Angeles) à laquelle cette instruction a été créée.

billingPeriod

object (BillingPeriod)

OBLIGATOIRE: période de facturation couverte par le relevé.

dateDue

string (int64 format)

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 totalDueByIntegrator est supérieure à 0.

currencyCode

string

OBLIGATOIRE: code de devise ISO 4217 à trois lettres.

totalDueByIntegrator

string (Int64Value format)

OBLIGATOIRE: cette valeur est exprimée en micros dans la devise currencyCode. Cette valeur est toujours positive.

remittanceInstructions

object (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

string (int64 format)

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

string (int64 format)

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

string

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

string (int64 format)

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.