Method: remittanceStatementNotification

Notifie l'intégrateur d'une nouvelle instruction de versement.

Les notifications de relevé sont envoyées chaque fois qu'un nouveau relevé est collecté, représentant une somme que Google versera à l'intégrateur ou la somme que celui-ci doit à Google.

Si l'intégrateur renvoie une réponse positive, nous partons du principe que la déclaration a été acceptée et sera payée.

requestId est également l'ID de l'instruction (utilisé ailleurs). La combinaison de requestId dans l'en-tête et de 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 à toutes les requêtes.

paymentIntegratorAccountId

string

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

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: résumé de cette déclaration de versement.

Corps de la réponse

Objet de réponse pour la méthode de notification d'instruction 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 à toutes les réponses.

paymentIntegratorStatementId

string

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

result

enum (StatementNotificationResultCode)

REQUIRED: résultat de cette notification d'instruction.

RemittanceStatementSummary

Objet Summary sur un relevé de versement.

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 ce relevé.

dateDue

string (int64 format)

FACULTATIF: date d'échéance du versement. Elle est exprimée en millisecondes depuis l'epoch. Il s'agit d'une date (qui 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 et 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 depuis l'epoch. Il s'agit d'une date (qui 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, 00:00:00.000

endDate

string (int64 format)

OBLIGATOIRE: date de fin de la période de facturation. Elle est exprimée en millisecondes depuis l'epoch.

Il s'agit de la dernière milliseconde du dernier jour de la période de facturation, à 23:59:59,999

RemittanceInstructions

Structurez les informations contenant des informations sur le paiement de cette notification de versement.

Représentation JSON
{
  "memoLineId": string
}
Champs
memoLineId

string

OBLIGATOIRE: identifiant à saisir obligatoirement sur la ligne de note pour le paiement afin d'identifier le versement.

StatementNotificationResultCode

Codes de résultat de la notification d'instruction.

Enums
UNKNOWN_RESULT Ne définissez jamais cette valeur par défaut.
ACCEPTED L'intégrateur a accepté cette instruction.