Method: remittanceStatementNotification

Notifica al integrador sobre una nueva declaración de remesa.

Estas notificaciones se realizan cada vez que se envía un nuevo estado que representa dinero que Google le pagará al integrador o que este debe a Google.

Si el integrador muestra un resultado exitoso, se supone que se aceptó la instrucción y se pagará.

El requestId también es el ID de la sentencia (que se usa en otro lugar). La combinación de requestId en el encabezado y paymentIntegratorAccountId es la clave de idempotencia, que identifica de forma exclusiva esta sentencia.

Si el extremo encuentra un error mientras procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo ErrorResponse.

A continuación, se muestra una solicitud de ejemplo:


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

Una respuesta de ejemplo se ve de la siguiente manera:


{
  "responseHeader": {
    "responseTimestamp": "1502632802000"
  },
  "paymentIntegratorStatementId": "334a",
  "result": "ACCEPTED"
}

Solicitud HTTP

POST https://www.integratorhost.example.com/v1/remittanceStatementNotification

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
Campos
requestHeader

object (RequestHeader)

REQUIRED: Encabezado común para todas las solicitudes

paymentIntegratorAccountId

string

REQUIRED: Es el identificador de la cuenta del integrador de pagos que identifica las restricciones contractuales en torno a esta declaración.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: Resumen de esta declaración de remesa

Cuerpo de la respuesta

Objeto de respuesta para el método de notificación de declaración de remesas.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Campos
responseHeader

object (ResponseHeader)

REQUIRED: Encabezado común para todas las respuestas

paymentIntegratorStatementId

string

REQUIRED: Es el identificador que el integrador conoce esta declaración. Se genera por medio del integrador.

result

enum (StatementNotificationResultCode)

OBLIGATORIO: Es el resultado de la notificación de esta declaración.

RemittanceStatementSummary

Objeto de resumen sobre una declaración de remesa.

Representación JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Campos
statementDate

string (int64 format)

OBLIGATORIO: Es la fecha (en Estados Unidos/Los Ángeles) en la que se creó esta declaración.

billingPeriod

object (BillingPeriod)

OBLIGATORIO: El período de facturación que abarca este estado de cuenta.

dateDue

string (int64 format)

OPCIONAL: Es la fecha de vencimiento de la remesa. Esto se representa como milisegundos desde el ciclo de entrenamiento. Es una fecha (y, por lo tanto, siempre comenzará en el primer milisegundo del día en la zona horaria de facturación).

Se establece siempre que totalDueByIntegrator sea mayor que 0.

currencyCode

string

OBLIGATORIO: Es el código de moneda ISO 4217 de 3 letras.

totalDueByIntegrator

string (Int64Value format)

OBLIGATORIO: Este valor se expresa en micros y la moneda currencyCode. Este valor siempre es positivo.

remittanceInstructions

object (RemittanceInstructions)

OBLIGATORIO: Incluye los detalles de cómo remitir el pago.

BillingPeriod

Período de facturación de este estado de cuenta.

Representación JSON
{
  "startDate": string,
  "endDate": string
}
Campos
startDate

string (int64 format)

OBLIGATORIO: Es la fecha de inicio del período de facturación. Esto se representa como milisegundos desde el ciclo de entrenamiento. Es una fecha (y, por lo tanto, siempre comenzará en el primer milisegundo del día en la zona horaria de facturación).

Este es el primer milisegundo del día del período de facturación, 00:00:00.000.

endDate

string (int64 format)

OBLIGATORIO: Es la fecha de finalización del período de facturación. Esto se representa como milisegundos desde el ciclo de entrenamiento.

Este es el último milisegundo del último día del período de facturación, 23:59:59.999.

RemittanceInstructions

Estructura que contiene información sobre cómo pagar esta notificación de remesa.

Representación JSON
{
  "memoLineId": string
}
Campos
memoLineId

string

OBLIGATORIO: Es el identificador obligatorio que se debe incluir en la línea de la nota para realizar el pago a fin de identificar la remesa.

StatementNotificationResultCode

Códigos de resultado para la notificación del enunciado.

Enumeraciones
UNKNOWN_RESULT No establezcas nunca este valor predeterminado.
ACCEPTED El integrador aceptó esta declaración.