Method: remittanceStatementNotification

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

Las notificaciones de resúmenes se generan cada vez que se emite un nuevo estado de cuenta que representa dinero que Google le pagará al integrador o el que este le debe a Google.

Si el integrador muestra un resultado exitoso, acusa recibo de la instrucción.

El requestId también es el ID de declaración (que se usa en otro lugar). La combinación de requestId dentro del encabezado y paymentIntegratorAccountId es la clave de idempotencia y, además, 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"
    }
  }
}

Esta es una respuesta de ejemplo:


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

OBLIGATORIO: Encabezado común para todas las solicitudes

paymentIntegratorAccountId

string

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

remittanceStatementSummary

object (RemittanceStatementSummary)

OBLIGATORIO: 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 remesa.

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)

OBLIGATORIO: Encabezado común para todas las respuestas

paymentIntegratorStatementId

string

REQUIRED: Es el identificador que el integrador conoce esta instrucción. Esto es generado por el integrador.

result

enum (StatementNotificationResultCode)

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

RequestHeader

Es un objeto de encabezado que se define en todas las solicitudes que se envían al servidor.

Representación JSON
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
Campos
requestId

string

REQUIRED: Es el identificador único de esta solicitud.

Es una cadena que tiene una longitud máxima de 100 caracteres y solo contiene los caracteres "a-z", "A-Z", "0-9", ":", "-" y "_".

requestTimestamp

string (int64 format)

OBLIGATORIO: Es la marca de tiempo de esta solicitud representada en milisegundos desde el ciclo de entrenamiento. El receptor debe verificar que la marca de tiempo sea de ± 60 s de "ahora". Esta marca de tiempo de solicitud no es idempotente en los reintentos.

userLocale
(deprecated)

string

OBSOLETO: Un código de idioma ISO 639-2 Alfa 3 de dos o tres letras, opcionalmente seguido de un guion y un código de país ISO 3166-1 alfa-2, p.ej., "pt", "pt-BR", "fil" o "fil-PH". Úsalo para ayudar a controlar los campos userMessage en la respuesta.

protocolVersion

object (Version)

OBLIGATORIO: Es la versión de esta solicitud.

Versión

Un objeto Version, que es una forma estructurada de la estructura de versión clásica de a.b.c. Se garantiza que las versiones principales de la misma cantidad son compatibles. Ten en cuenta que las revisiones menores y las revisiones pueden cambiar con frecuencia y sin previo aviso. El integrador debe admitir todas las solicitudes de la misma versión principal.

Representación JSON
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
Campos
major

integer

OBLIGATORIO: Es la versión principal. Esto se marca cuando no se garantiza la compatibilidad de las solicitudes de compatibilidad con diferentes versiones.

minor

integer

OBLIGATORIO: Versión secundaria. Esto indica que se corrigieron errores importantes.

revision

integer

OBLIGATORIO: Versión secundaria. Esto implica correcciones de errores menores.

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 América/Los Ángeles) en la que se creó esta declaración.

billingPeriod

object (BillingPeriod)

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

dateDue

string (int64 format)

OPCIONAL: La fecha en la que vence el plazo para recibir la remesa. Se representa como milisegundos de la época. Es una fecha (y, por lo tanto, siempre comenzará en el primer milisegundo del día en la zona horaria de facturación).

Esto se establece siempre que el totalDueByIntegrator sea mayor que 0.

currencyCode

string

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

totalDueByIntegrator

string (Int64Value format)

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

remittanceInstructions

object (RemittanceInstructions)

OBLIGATORIO: Detalles sobre cómo remitir el pago

BillingPeriod

Es el período de facturación de este resumen.

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

string (int64 format)

OBLIGATORIO: La fecha de inicio del período de facturación. Se representa como milisegundos de la época. 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. Se representa como milisegundos de la época.

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

RemittanceInstructions

La estructura 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 colocar en la línea de la nota del pago para identificar la remesa.

ResponseHeader

Es el objeto de encabezado que se define en todas las respuestas enviadas desde el servidor.

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

string (int64 format)

REQUIRED: Es la marca de tiempo de esta respuesta representada como milisegundos desde la época. El receptor debe verificar que la marca de tiempo sea de ± 60 s de "ahora".

StatementNotificationResultCode

Códigos de resultado de la notificación de instrucciones

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