Method: remittanceStatementDetails

Muestra información detallada de la transacción de un resumen 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 mostrará la cantidad máxima de 1,000 eventos por página. Cada solicitud a esta API mostrará un nextEventOffset que apunta al siguiente evento de transacción en la sentencia, así como un totalEvents que especifica la cantidad total de transacciones en la sentencia. Si la página recuperada actualmente contiene las últimas transacciones de la sentencia, nextEventOffset no estará presente en la respuesta.

El valor statementId es requestId de remittanceStatementNotificationRequest

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

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

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


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

Esta es una respuesta de ejemplo:


{
  "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: 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.

statementId

string

OBLIGATORIO: Solicita el ID de la notificación de la declaración.

eventOffset

integer

OPCIONAL: Muestra eventos que comienzan en este desplazamiento. Se debe establecer como nextEventOffset si se mostró una o no se especifica si esta es la primera solicitud. Si eventOffset es cero, los eventos se mostrarán a partir del primero. Si son dos, los eventos se mostrarán a partir del tercer evento. Si no se especifica, se supondrá que eventOffset es cero.

numberOfEvents

integer

OPCIONAL: Cantidad de eventos que se muestran por página. Si no se especifica o es mayor que 1,000, será 1,000.

Cuerpo de la respuesta

Objeto de respuesta para el método de detalles de la 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)
  },
  "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: Encabezado común para todas las respuestas

remittanceStatementSummary

object (RemittanceStatementSummary)

OBLIGATORIO: Resumen de esta declaración de remesa

eventOffset

integer

REQUIRED: El desplazamiento del evento de esta respuesta

nextEventOffset

integer

OPTIONAL: El desplazamiento del siguiente evento que se mostrará. Si no se especifica, no hay más eventos que recuperar para esta instrucción.

totalEvents

integer

OBLIGATORIO: La cantidad total de eventos en esta sentencia

totalWithholdingTaxes

string (Int64Value format)

OBLIGATORIO: La suma de todos los impuestos retenidos en este estado de cuenta.

Este valor se expresa en micros.

captureEvents[]

object (Event)

OBLIGATORIO: Conjunto de eventos de captura

refundEvents[]

object (Event)

OBLIGATORIO: Es un conjunto de eventos de reembolso.

reverseRefundEvents[]

object (Event)

OPCIONAL: Conjunto de eventos de reembolso inverso.

chargebackEvents[]

object (Event)

OPCIONAL: Conjunto de eventos de devolución del cargo.

reverseChargebackEvents[]

object (Event)

OPCIONAL: Conjunto de eventos de devolución del cargo revertido.

adjustmentEvents[]

object (Event)

OPCIONAL: Conjunto de eventos de ajuste. Se pueden agregar eventos de ajuste a discreción de Google para conciliar las discrepancias de facturación. Por ejemplo, si las tarifas de un conjunto de transacciones anteriores no se calcularon correctamente, es posible que se utilice un ajuste para integrar al integrador.

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.

Evento

Estructura que representa un solo evento incluido en una declaración de remesa

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 elemento requestId que Google envía con la solicitud. En el caso de los eventos de reembolso inverso, reintegro y devolución del cargo revertido, este será el requestId que envía el integrador de pagos con la notificación de ese evento. Para los ajustes, este será un ID único que Google asigna al evento de ajuste.

paymentIntegratorEventId

string

OBLIGATORIO: Identifica el ID del integrador de pagos que muestra este evento. En 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 de refund.

Este campo es de longitud variable. 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 reembolso inverso, reintegro y devolución del cargo revertido, esta será la requestId que envió el integrador de pagos 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 grupo 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: Corresponde al código de moneda definido por la instrucción. Si este valor es negativo, representa un valor monetario que se traslada de Google al integrador de pagos. Si es positivo, es dinero del integrador de pagos adeudado a Google.

Por ejemplo, las transacciones de captura siempre serán positivas y las de reembolso siempre serán negativas. Los eventos de reembolso inverso y de reintegro de la cuenta siempre serán positivos. Los eventos de devolución de cargos siempre serán negativos.

Este valor se expresa en micros.

eventFee

string (Int64Value format)

OBLIGATORIO: Corresponde al código de moneda definido por la instrucción. Si este valor es negativo, representa un valor monetario que se traslada de Google al integrador de pagos. Si es positivo, es dinero del integrador de pagos adeudado a Google.

Por ejemplo, si un acuerdo indica que Google pagará el 1% de transactionCharge al integrador de pagos y revertirá ese 1% cuando se realice el reembolso de esa transacción, la tarifa de captura será negativa y, una vez reembolsada, la tarifa será positiva.

Este valor se expresa en micros.

presentmentChargeAmount

string (Int64Value format)

OPCIONAL: Es el importe de la transacción en la moneda actual (es decir, la transacción) antes del cambio de divisas. Este campo sigue la misma convención de signo que el campo eventCharge.

Este valor se expresa en micros.

presentmentCurrencyCode

string

OPCIONAL: Es el código de moneda ISO 4217 de 3 letras que denomina la moneda de la presentación (transacción).

exchangeRate

string (Int64Value format)

OPCIONAL: El tipo de cambio que se usa para convertir el importe de la presentación en el importe de la liquidación (factura).

Este valor se expresa en micro puntos base (1 punto base = 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 la presentación en el importe de la liquidación (factura), expresado en puntos base nano.

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

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