Method: remittanceStatementDetails

Devuelve información detallada sobre una transacción de un estado de cuenta de remesas.

Esta es una API paginada. La cantidad de eventos de transacción por página se puede especificar con numberOfEvents. Si no se especifica, se devolverá un máximo de 1,000 eventos por página. Cada solicitud a esta API devolverá un nextEventOffset que apunta al siguiente evento de transacción en el estado de cuenta, así como un totalEvents que especifica la cantidad total de transacciones en el estado de cuenta. Si la página recuperada actual contiene las últimas transacciones del estado de cuenta, nextEventOffset no estará presente en la respuesta.

El valor statementId es el requestId del remittanceStatementNotificationRequest.

Si el endpoint encuentra un error mientras se procesa la solicitud, la respuesta de este endpoint será del tipo ErrorResponse.

Las respuestas a esta consulta pueden estar vacías si este método no devuelve un HTTP 200. El cuerpo de la respuesta está vacío en situaciones en las que un mensaje ErrorResponse con una descripción clara podría utilizarse para ayudar a un atacante a conocer el identificador de la cuenta del integrador de pago de otros integradores. En estas situaciones, en que la clave de firma no coincide, no se encuentra el identificador del integrador de pago o no se conoce la clave de encriptación, este método devuelve un error HTTP 404 con un cuerpo vacío. Si se pudo verificar la firma de la solicitud, se devolverá información adicional sobre el error en el cuerpo de la respuesta.

El siguiente es un ejemplo de solicitud:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "statement_detail_request_139932019",
    "requestTimestamp": "1502551332087"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "statementId": "0123434-statement-abc",
  "numberOfEvents": 4
}

El siguiente es un ejemplo de respuesta:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "eventOffset": 0,
  "nextEventOffset": 4,
  "totalEvents": 15,
  "remittanceStatementSummary": {
    "statementDate": "1502521200000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502434800000"
    },
    "dateDue": "1502348400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  },
  "captureEvents": [
    {
      "eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
      "paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
      "eventCharge": "700000000",
      "eventFee": "-28000000"
    },
    {
      "eventRequestId": "Ggghvh78200PQ3Yrpb",
      "paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
      "eventCharge": "800000000",
      "eventFee": "-32000000"
    }
  ],
  "refundEvents": [
    {
      "eventRequestId": "liUrreQY233839dfFFb24gaQM",
      "paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
      "eventCharge": "-200000000",
      "eventFee": "8000000"
    },
    {
      "eventRequestId": "IIghhhUrreQY233839II9qM==",
      "paymentIntegratorEventId": "DFjidoso12FSDFSDE",
      "eventCharge": "-150000000",
      "eventFee": "6000000"
    }
  ]
}

Solicitud HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID

Cuerpo de la solicitud

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

Representación JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
Campos
requestHeader

object (RequestHeader)

OBLIGATORIO: Es el encabezado común para todas las solicitudes.

paymentIntegratorAccountId

string

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

statementId

string

OBLIGATORIO: Es el ID de solicitud de la notificación de estado.

eventOffset

integer

OPCIONAL: Son los eventos de devolución que comienzan en este desplazamiento. Este parámetro debe establecerse en nextEventOffset si se devolvió uno o dejarse sin especificar si esta es la primera solicitud. Si eventOffset es cero, los eventos se mostrarán a partir del primero. Si es dos, se devolverán los eventos a partir del tercero. Si no se especifica, se supondrá que eventOffset es cero.

numberOfEvents

integer

OPCIONAL: Es la cantidad de eventos que se mostrarán por página. Si no se especifica o es mayor que 1,000, se establecerá en 1,000.

Cuerpo de la respuesta

Objeto de respuesta para el método de detalles del resumen de remesas.

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

Representación JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
Campos
responseHeader

object (ResponseHeader)

OBLIGATORIO: Es el encabezado común para todas las respuestas.

remittanceStatementSummary

object (RemittanceStatementSummary)

OBLIGATORIO: Es el resumen de este estado de cuenta de remesas.

eventOffset

integer

OBLIGATORIO: Es el desplazamiento del evento de esta respuesta.

nextEventOffset

integer

OPCIONAL: Es el desplazamiento del próximo evento que se devolverá. Si no se especifica, no hay más eventos para recuperar para esta instrucción.

totalEvents

integer

OBLIGATORIO: Es la cantidad total de eventos en esta declaración.

totalWithholdingTaxes

string (Int64Value format)

OBLIGATORIO: Es la suma de todos los impuestos retenidos para este resumen.

Este valor está en micros.

captureEvents[]

object (Event)

OBLIGATORIO: Es el conjunto de eventos de captura.

refundEvents[]

object (Event)

OBLIGATORIO: Es el conjunto de eventos de reembolso.

reverseRefundEvents[]

object (Event)

OPCIONAL: Es un conjunto de eventos de reversión de reembolsos.

chargebackEvents[]

object (Event)

OPCIONAL: Es el conjunto de eventos de contracargo.

reverseChargebackEvents[]

object (Event)

OPCIONAL: Es un conjunto de eventos de reversión de devolución.

adjustmentEvents[]

object (Event)

OPCIONAL: Es el conjunto de eventos de ajuste. Los eventos de ajuste se pueden agregar a discreción de Google para conciliar las discrepancias de facturación. Por ejemplo, si las comisiones se calcularon de forma insuficiente para un conjunto de transacciones anteriores, se puede usar un ajuste para compensar al integrador.

RemittanceStatementSummary

Es un objeto de resumen sobre un estado de cuenta de remesas.

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

string (int64 format)

OBLIGATORIO: Fecha (en America/Los Ángeles) en la que se creó este resumen.

billingPeriod

object (BillingPeriod)

OBLIGATORIO: Es el período de facturación que abarca este resumen.

dateDue

string (int64 format)

OPCIONAL: Es la fecha de vencimiento de la remesa. Se representa como milisegundos desde 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 y cuando totalDueByIntegrator sea mayor que 0.

currencyCode

string

OBLIGATORIO: Código de moneda de 3 letras según la norma ISO 4217.

totalDueByIntegrator

string (Int64Value format)

OBLIGATORIO: Este valor se expresa en micro unidades de la moneda de 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: Es la fecha de inicio del período de facturación. Se representa como milisegundos desde 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).

Es el primer milisegundo del día del período de facturación, es decir, las 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 desde la época.

Es el último milisegundo del último día del período de facturación, es decir, las 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 que se debe incluir de forma obligatoria en la línea de memo del pago para la identificación de la remesa.

Evento

Es una estructura que representa un solo evento incluido en un estado de cuenta de remesas.

Representación JSON
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
Campos
eventRequestId

string

OBLIGATORIO: Para los eventos de captura o reembolso, este será el requestId que Google envía con la solicitud. En el caso de los eventos de reversión de reembolso, devolución del cargo y reversión de devolución, este será el requestId que el integrador de pagos envía con la notificación de ese evento. En el caso de los ajustes, será un ID único que Google asigna al evento de ajuste.

paymentIntegratorEventId

string

OBLIGATORIO: Es el ID que devolvió el integrador de pagos para este evento. En el caso de una captura, es el paymentIntegratorTransactionId de la respuesta a una llamada a capture. En el caso de un reembolso, es el paymentIntegratorRefundId de la respuesta a una llamada a refund.

Este campo tiene una longitud variable, ya que, como integrador, cualquier ID que proporciones para este evento se reflejará aquí. Si el integrador no proporcionó un valor para el evento correspondiente, este campo contendrá el mismo valor que el campo eventRequestId.

En el caso de los eventos de reversión de reembolso, contracargo y reversión de contracargo, este será el requestId que el integrador de pagos envió con la notificación del evento.

La longitud y el formato de este campo dependen del campo de origen de cada ID. Consulta la documentación de cada uno de los campos de origen para obtener detalles sobre los requisitos de longitud y el conjunto de caracteres. En particular, ten en cuenta que, a veces, este campo puede contener IDs generados por Google que pueden tener requisitos de longitud máxima diferentes a los de los IDs generados por el integrador.

eventCharge

string (Int64Value format)

OBLIGATORIO: Es el código de moneda definido por el estado de cuenta. Si este valor es negativo, representa el valor monetario que se transfiere de Google al integrador de pagos. Si es positivo, significa que el integrador de pagos le debe dinero a Google.

Por ejemplo, las transacciones de captura siempre serán positivas y las de reembolso siempre serán negativas. Los eventos de reversión de reembolsos y reversión de devoluciones de cargos siempre serán positivos. Los eventos de contracargo siempre serán negativos.

Este valor está en micros.

eventFee

string (Int64Value format)

OBLIGATORIO: Es el código de moneda definido por el estado de cuenta. Si este valor es negativo, representa el valor monetario que se transfiere de Google al integrador de pagos. Si es positivo, significa que el integrador de pagos le debe dinero a Google.

Por ejemplo, si un acuerdo establece que Google pagará el 1% del transactionCharge al integrador de pagos y revertirá ese 1% cuando se reembolse la transacción, la comisión de captura será negativa y, cuando se reembolse, la comisión de reembolso será positiva.

Este valor está en micros.

presentmentChargeAmount

string (Int64Value format)

OPCIONAL: Es el importe de la transacción en la moneda de presentación (también conocida como moneda de la transacción) antes del cambio de divisas. Este campo sigue la misma convención de signos que el campo eventCharge.

Este valor está en micros.

presentmentCurrencyCode

string

OPCIONAL: Código de moneda de 3 letras según la norma ISO 4217 que denomina la moneda de presentación (transacción).

exchangeRate
(deprecated)

string (Int64Value format)

OBSOLETO: Es el tipo de cambio que se usa para convertir el importe de presentación al importe de liquidación (factura).

Este valor se expresa en puntos básicos (1 punto básico = 0 .0001 = 0 .01%). Es decir, para obtener el tipo de cambio, divide este campo por 10^10.

nanoExchangeRate

string (Int64Value format)

OPCIONAL: Es el tipo de cambio que se usa para convertir el importe de presentación al importe de liquidación (factura), expresado en nanocentésimos de punto porcentual.

Este valor se expresa en nanopuntos básicos (1 punto básico = 0 .0001 = 0 .01%). Es decir, para obtener el tipo de cambio, divide este campo por 10^13.

Se completarán tanto este campo como exchangeRate. Son tipos de cambio equivalentes expresados con diferente precisión. En versiones futuras, se quitará exchangeRate y se usará nanoExchangeRate.