Method: remittanceStatementNotification

Informa l'integratore di una nuova distinta di versamento.

Le notifiche relative agli estratti conto vengono inviate ogni volta che viene generato un nuovo estratto conto che rappresenta l'importo che Google pagherà all'integratore o l'importo dovuto a Google.

Se l'integratore restituisce un risultato positivo, si presume che l'istruzione sia stata accettata e verrà pagata.

requestId è anche l'ID dell'istruzione (utilizzato altrove). La combinazione di requestId nell'intestazione e paymentIntegratorAccountId è la chiave di idempotenza e identifica in modo univoco questa affermazione.

Se l'endpoint rileva un errore durante l'elaborazione della richiesta, il corpo della risposta da questo endpoint deve essere di tipo ErrorResponse.

Ecco un esempio di richiesta:


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

object (RequestHeader)

REQUIRED: intestazione comune per tutte le richieste.

paymentIntegratorAccountId

string

REQUIRED: si tratta dell'identificatore dell'account dell'integratore pagamenti che identifica i vincoli contrattuali relativi a questa dichiarazione.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: riepilogo di questa distinta di versamento.

Corpo della risposta

Oggetto della risposta per il metodo di notifica della distinta.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Campi
responseHeader

object (ResponseHeader)

REQUIRED: intestazione comune per tutte le risposte.

paymentIntegratorStatementId

string

REQUIRED: identificatore con cui l'integratore conosce questa istruzione. Questo è stato generato dall'integratore.

result

enum (StatementNotificationResultCode)

REQUIRED: il risultato della notifica della dichiarazione.

RemittanceStatementSummary

Oggetto di riepilogo relativo a una dichiarazione di versamento.

Rappresentazione JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Campi
statementDate

string (int64 format)

REQUIRED: data (in America/Los Angeles) di creazione della dichiarazione.

billingPeriod

object (BillingPeriod)

OBBLIGATORIO: il periodo di fatturazione coperto da questo estratto conto.

dateDue

string (int64 format)

FACOLTATIVO: la data di scadenza del versamento. rappresentato in millisecondi da epoca. Si tratta di una data (e pertanto inizierà sempre al primo millisecondo del giorno nel fuso orario di fatturazione).

Questo valore viene impostato purché il valore totalDueByIntegrator sia maggiore di 0.

currencyCode

string

OBBLIGATORIO: codice valuta ISO 4217 di tre lettere.

totalDueByIntegrator

string (Int64Value format)

REQUIRED: questo valore è espresso in micro nella valuta currencyCode. Questo valore è sempre positivo.

remittanceInstructions

object (RemittanceInstructions)

REQUIRED: dettagli su come effettuare il pagamento

BillingPeriod

Periodo di fatturazione di questo estratto conto.

Rappresentazione JSON
{
  "startDate": string,
  "endDate": string
}
Campi
startDate

string (int64 format)

REQUIRED: la data di inizio del periodo di fatturazione. rappresentato in millisecondi da epoca. Si tratta di una data (e pertanto inizierà sempre al primo millisecondo del giorno nel fuso orario di fatturazione).

Questo è il primo millisecondo del giorno del periodo di fatturazione, 00:00:00.000

endDate

string (int64 format)

REQUIRED: la data di fine del periodo di fatturazione. rappresentato in millisecondi da epoca.

Ultimo millisecondo dell'ultimo giorno del periodo di fatturazione, 23:59:59.999

RemittanceInstructions

Strutturare le informazioni in conservazione su come pagare questa notifica di versamento.

Rappresentazione JSON
{
  "memoLineId": string
}
Campi
memoLineId

string

REQUIRED: identificatore obbligatorio da inserire nella riga della nota per il pagamento ai fini dell'identificazione del versamento.

StatementNotificationResultCode

Codici dei risultati per la notifica dell'estratto conto.

Enum
UNKNOWN_RESULT Non impostare mai questo valore predefinito.
ACCEPTED L'integratore ha accettato questa dichiarazione.