- Richiesta HTTP
- Corpo della richiesta
- Corpo della risposta
- RequestHeader
- Versione
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
Comunica all'integratore una nuova dichiarazione di versamento.
Ogni volta che viene generato un nuovo estratto conto che rappresenta l'importo che Google pagherà all'integratore o l'importo dovuto a Google dall'integratore,
Se l'integratore restituisce un errore, conferma di aver ricevuto la dichiarazione.
requestId
è anche l'ID istruzione (utilizzato altrove). La combinazione di requestId
nell'intestazione e paymentIntegratorAccountId
è la chiave di idempotenza e identifica in modo univoco questa istruzione.
Se l'endpoint rileva un errore durante l'elaborazione della richiesta, il corpo della risposta da questo endpoint deve essere di tipo
.ErrorResponse
Una richiesta di esempio ha il seguente aspetto:
{
"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"
}
}
}
Ecco un esempio di risposta:
{
"responseHeader": {
"responseTimestamp": "1502632802000"
},
"paymentIntegratorStatementId": "334a",
"result": "ACCEPTED"
}
Richiesta HTTP
POST https://www.integratorhost.example.com/v1/remittanceStatementNotification
Corpo della richiesta
Il corpo della richiesta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "requestHeader": { object ( |
Campi | |
---|---|
requestHeader |
REQUIRED: intestazione comune per tutte le richieste. |
paymentIntegratorAccountId |
REQUIRED: questo è l'identificatore dell'account dell'integratore dei pagamenti che identifica i vincoli contrattuali relativi a questa affermazione. |
remittanceStatementSummary |
OBBLIGATORIO: riepilogo di questa dichiarazione di pagamento. |
Corpo della risposta
Oggetto della risposta per il metodo di notifica della dichiarazione di versamento.
In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:
Rappresentazione JSON |
---|
{ "responseHeader": { object ( |
Campi | |
---|---|
responseHeader |
REQUIRED: intestazione comune per tutte le risposte. |
paymentIntegratorStatementId |
REQUIRED: identificatore con cui l'integratore conosce questa istruzione. Questo è un integratore generato. |
result |
REQUIRED: risultato della notifica di questa dichiarazione. |
RequestHeader
Oggetto intestazione definito in tutte le richieste inviate al server.
Rappresentazione JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Campi | |
---|---|
requestId |
REQUIRED: identificatore univoco della richiesta. Si tratta di una stringa con una lunghezza massima di 100 caratteri e contenente solo i caratteri "a-z", "A-Z", "0-9", ":", "-" e "_". |
requestTimestamp |
REQUIRED: timestamp di questa richiesta espresso in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto a "now". Questo timestamp della richiesta non è idempotente al momento dei nuovi tentativi. |
userLocale |
OBSOLETO: un codice lingua ISO 639-2 Alpha 3 a due o tre lettere facoltativamente seguito da un trattino e da un codice paese Alpha-2 ISO 3166-1, ad esempio "pt", "pt-BR", "fil" o "fil-PH". Utilizzalo per generare più campi |
protocolVersion |
REQUIRED: la versione della richiesta. |
Versione
Oggetto versione, che è una forma strutturata della struttura della versione classica di a.b.c
. È garantita la compatibilità delle versioni principali dello stesso numero. Tieni presente che le revisioni e le revisioni possono cambiare spesso e senza preavviso. L'integratore deve supportare tutte le richieste per la stessa versione principale.
Rappresentazione JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Campi | |
---|---|
major |
REQUIRED: versione principale. Questo stato è contrassegnato perché non è garantita la compatibilità delle richieste di compatibilità con versioni diverse. |
minor |
REQUIRED: versione secondaria. Indica correzioni di bug significative. |
revision |
REQUIRED: versione secondaria. Indica correzioni di bug minori. |
RemittanceStatementSummary
Oggetto di riepilogo su una dichiarazione di versamento.
Rappresentazione JSON |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Campi | |
---|---|
statementDate |
REQUIRED: data (in America/Los Angeles) in cui è stata creata l'istruzione. |
billingPeriod |
OBBLIGATORIO: il periodo di fatturazione coperto dal presente estratto conto. |
dateDue |
FACOLTATIVO: la data di scadenza del versamento. Questo valore è espresso in millisecondi dall'epoca. Si tratta di una data, pertanto inizierà sempre al primo millisecondo della giornata nel fuso orario di fatturazione. Questo campo viene impostato se il valore di |
currencyCode |
OBBLIGATORIO: codice valuta ISO 4217 di tre lettere. |
totalDueByIntegrator |
REQUIRED: questo valore è in micro nella valuta |
remittanceInstructions |
OBBLIGATORIO: dettagli su come effettuare il pagamento |
BillingPeriod
Periodo di fatturazione del presente estratto conto.
Rappresentazione JSON |
---|
{ "startDate": string, "endDate": string } |
Campi | |
---|---|
startDate |
OBBLIGATORIO: la data di inizio del periodo di fatturazione. Questo valore è espresso in millisecondi dall'epoca. Si tratta di una data, pertanto inizierà sempre al primo millisecondo della giornata nel fuso orario di fatturazione. Si tratta del primo millisecondo del giorno del periodo di fatturazione, ovvero 00:00:00.000 |
endDate |
OBBLIGATORIO: la data di fine del periodo di fatturazione. Questo valore è espresso in millisecondi dall'epoca. Si tratta dell'ultimo millisecondo dell'ultimo giorno del periodo di fatturazione, 23:59:59.999 |
RemittanceInstructions
La struttura conserva informazioni sulle modalità di pagamento di questa notifica di versamento.
Rappresentazione JSON |
---|
{ "memoLineId": string } |
Campi | |
---|---|
memoLineId |
REQUIRED: identificatore obbligatorio da inserire nella riga delle note per il pagamento ai fini dell'identificazione del versamento. |
ResponseHeader
Oggetto intestazione definito su tutte le risposte inviate dal server.
Rappresentazione JSON |
---|
{ "responseTimestamp": string } |
Campi | |
---|---|
responseTimestamp |
REQUIRED: timestamp di questa risposta espresso in millisecondi dall'epoca. Il destinatario deve verificare che il timestamp sia di ± 60 secondi rispetto a "now". |
StatementNotificationResultCode
Codici risultato per la notifica dell'estratto conto.
Enum | |
---|---|
UNKNOWN_RESULT |
Non impostare mai questo valore predefinito. |
ACCEPTED |
L'integratore ha accettato questa dichiarazione. |