- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- RequestHeader
- Versión
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
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 ( |
Campos | |
---|---|
requestHeader |
OBLIGATORIO: Encabezado común para todas las solicitudes |
paymentIntegratorAccountId |
OBLIGATORIO: Este es el identificador de la cuenta del integrador de pagos que identifica las restricciones contractuales en torno a esta declaración. |
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 ( |
Campos | |
---|---|
responseHeader |
OBLIGATORIO: Encabezado común para todas las respuestas |
paymentIntegratorStatementId |
REQUIRED: Es el identificador que el integrador conoce esta instrucción. Esto es generado por el integrador. |
result |
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 ( |
Campos | |
---|---|
requestId |
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 |
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 |
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 |
protocolVersion |
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 |
OBLIGATORIO: Es la versión principal. Esto se marca cuando no se garantiza la compatibilidad de las solicitudes de compatibilidad con diferentes versiones. |
minor |
OBLIGATORIO: Versión secundaria. Esto indica que se corrigieron errores importantes. |
revision |
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 ( |
Campos | |
---|---|
statementDate |
OBLIGATORIO: Es la fecha (en América/Los Ángeles) en la que se creó esta declaración. |
billingPeriod |
OBLIGATORIO: El período de facturación que abarca este resumen de cuenta. |
dateDue |
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 |
currencyCode |
OBLIGATORIO: El código de moneda ISO 4217 de 3 letras. |
totalDueByIntegrator |
REQUIRED: Este valor se expresa en micros y en la moneda |
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 |
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 |
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 |
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 |
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. |