Method: remittanceStatementNotification

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

Les notifications de relevé ont lieu chaque fois qu'un nouveau relevé est effectué et représente l'argent que Google versera à l'intégrateur ou la somme qui lui est due par Google.

Si l'intégrateur renvoie la réponse, il est supposé que le relevé a été accepté et sera versé.

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.

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"
    }
  }
}

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)

REQUIRED: en-tête commun à toutes les requêtes.

paymentIntegratorAccountId

string

OBLIGATOIRE: il s'agit de l'identifiant de compte de l'intégrateur de paiements qui identifie les contraintes contractuelles liées à cet relevé.

remittanceStatementSummary

object (RemittanceStatementSummary)

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

Corps de la réponse

Objet de réponse pour la méthode de notification de relevé 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)

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

paymentIntegratorStatementId

string

OBLIGATOIRE: identifiant que l'intégrateur connaît comme instruction. Il est généré par l'intégrateur.

result

enum (StatementNotificationResultCode)

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

RemittanceStatementSummary

Objet récapitulatif d'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)

REQUIRED: Date de création (en Amérique/Los Angeles) de cette déclaration.

billingPeriod

object (BillingPeriod)

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

dateDue

string (int64 format)

FACULTATIF: date à laquelle le paiement doit être effectué. Cette valeur est représentée par des millisecondes écoulées depuis 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 est défini tant que totalDueByIntegrator est supérieur à 0.

currencyCode

string

OBLIGATOIRE: code de devise à trois lettres ISO 4217.

totalDueByIntegrator

string (Int64Value format)

OBLIGATOIRE: cette valeur est en micro-unités, dans la devise de currencyCode. Cette valeur est toujours positive.

remittanceInstructions

object (RemittanceInstructions)

OBLIGATOIRE: Modalités de paiement

Période de facturation

Période de facturation associée à ce relevé.

Représentation JSON
{
  "startDate": string,
  "endDate": string
}
Champs
startDate

string (int64 format)

REQUIRED: date de début de la période de facturation. Cette valeur est représentée par des millisecondes écoulées depuis 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, 00:00:00.000

endDate

string (int64 format)

REQUIRED: date de fin de la période de facturation. Cette valeur est représentée par des millisecondes écoulées depuis l'epoch.

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

Instructions de versement

Structure contenant des informations sur le paiement de cette notification de paiement.

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

string

OBLIGATOIRE: identifiant à ajouter à la ligne de note du paiement pour identifier le versement.

InstructionsNotificationResultCode

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.