Method: remittanceStatementDetails

Retorna informações detalhadas da transação sobre um extrato de remessa.

Esta é uma API paginada. O número de eventos de transação por página pode ser especificado com numberOfEvents. Se não for especificado, será retornado o máximo de 1.000 eventos por página. Cada solicitação para essa API retornará uma nextEventOffset que aponta para o próximo evento de transação na instrução, bem como totalEvents especificando o número total de transações na instrução. Se a página atual recuperada contiver as últimas transações da instrução, nextEventOffset não estará presente na resposta.

O valor de statementId é o requestId de remittanceStatementNotificationRequest.

Se o endpoint encontrar um erro ao processar a solicitação, a resposta dele será do tipo ErrorResponse.

As respostas a esta consulta podem ficar vazias se o método não retornar HTTP 200. O corpo da resposta fica vazio em situações em que um ErrorResponse com uma descrição clara pode ser usado para ajudar um invasor a entender o identificador da conta do integrador de pagamentos de outros integradores. Quando a chave de assinatura não corresponde, o identificador do integrador de pagamentos não é encontrado ou a chave de criptografia é desconhecida, esse método vai retornar um HTTP 404 com corpo vazio. Se for possível verificar a assinatura da solicitação, informações adicionais sobre o erro serão retornadas no corpo da resposta.

Um exemplo de solicitação é semelhante a este:


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

Veja um exemplo de resposta:


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

Solicitação HTTP

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

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
Campos
requestHeader

object (RequestHeader)

OBRIGATÓRIO: cabeçalho comum para todas as solicitações.

paymentIntegratorAccountId

string

OBRIGATÓRIO: o identificador da conta do integrador de pagamentos que identifica as restrições contratuais relacionadas a esta declaração.

statementId

string

OBRIGATÓRIO: ID da solicitação da notificação de instrução.

eventOffset

integer

OPCIONAL: retorna eventos que começam nesse deslocamento. Precisa ser definido como nextEventOffset se um deles for retornado ou se não for especificado se essa for a primeira solicitação. Se eventOffset for zero, os eventos serão retornados começando pelo primeiro evento. Se forem dois, eventos serão retornados a partir do terceiro. Se não for especificado, eventOffset será considerado zero.

numberOfEvents

integer

OPCIONAL: número de eventos a serem exibidos por página. Se não for especificado ou for maior que 1.000, será 1000.

Corpo da resposta

Objeto de resposta para o método de detalhes da instrução de remessa.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação 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)

OBRIGATÓRIO: cabeçalho comum para todas as respostas.

remittanceStatementSummary

object (RemittanceStatementSummary)

OBRIGATÓRIO: resumo do extrato de remessa.

eventOffset

integer

REQUIRED: o deslocamento do evento dessa resposta.

nextEventOffset

integer

OPCIONAL: o deslocamento do próximo evento a ser retornado. Se não for especificado, não haverá mais eventos a serem recuperados para essa instrução.

totalEvents

integer

OBRIGATÓRIO: número total de eventos na instrução.

totalWithholdingTaxes

string (Int64Value format)

OBRIGATÓRIO: a soma de todos os tributos retidos neste extrato.

Esse valor está em micros.

captureEvents[]

object (Event)

OBRIGATÓRIO: conjunto de eventos de captura.

refundEvents[]

object (Event)

OBRIGATÓRIO: conjunto de eventos de reembolso.

reverseRefundEvents[]

object (Event)

OPCIONAL: conjunto de eventos de reembolso reverso.

chargebackEvents[]

object (Event)

OPCIONAL: conjunto de eventos de estorno.

reverseChargebackEvents[]

object (Event)

OPCIONAL: conjunto de eventos de estorno reverso.

adjustmentEvents[]

object (Event)

OPCIONAL: conjunto de eventos de ajuste. Eventos de ajuste podem ser adicionados a critério do Google para reconciliar discrepâncias de faturamento. Por exemplo, se as taxas tiverem sido calculadas de forma insuficiente para um conjunto de transações anteriores, um ajuste poderá ser usado para tornar todo o integrador.

RemittanceStatementSummary

Objeto de resumo sobre uma declaração de remessa.

Representação JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Campos
statementDate

string (int64 format)

OBRIGATÓRIO: data (nos Estados Unidos/Los Angeles) em que a instrução foi criada.

billingPeriod

object (BillingPeriod)

OBRIGATÓRIO: o período de faturamento deste extrato.

dateDue

string (int64 format)

OPCIONAL: a data de vencimento da remessa. Isso é representado como milissegundos a partir da época. É uma data e, portanto, sempre começa no primeiro milissegundo do dia no fuso horário de faturamento.

Isso é definido, desde que a totalDueByIntegrator seja maior que 0.

currencyCode

string

OBRIGATÓRIO: código de moeda ISO 4217 com três letras.

totalDueByIntegrator

string (Int64Value format)

OBRIGATÓRIO: esse valor está em micros na moeda currencyCode. Esse valor é sempre positivo.

remittanceInstructions

object (RemittanceInstructions)

OBRIGATÓRIO: detalhes sobre como efetuar o pagamento

BillingPeriod

Período de faturamento deste extrato.

Representação JSON
{
  "startDate": string,
  "endDate": string
}
Campos
startDate

string (int64 format)

OBRIGATÓRIO: a data de início do período de faturamento. Isso é representado como milissegundos a partir da época. É uma data e, portanto, sempre começa no primeiro milissegundo do dia no fuso horário de faturamento.

Este é o primeiro milissegundo do dia do período de faturamento, 00:00:00.000

endDate

string (int64 format)

OBRIGATÓRIO: a data de término do período de faturamento. Isso é representado como milissegundos a partir da época.

Este é o último milissegundo do último dia do período de faturamento, 23:59:59.999

RemittanceInstructions

Estrutura com informações sobre como pagar essa notificação de remessa.

Representação JSON
{
  "memoLineId": string
}
Campos
memoLineId

string

OBRIGATÓRIO: identificador que precisa ser incluído na linha de nota para o pagamento para fins de identificação da remessa.

Evento

Estrutura que representa um único evento incluído em uma declaração de remessa.

Representação JSON
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
Campos
eventRequestId

string

OBRIGATÓRIO: para eventos de captura ou reembolso, será o requestId que o Google envia com a solicitação. Para eventos de reembolso reverso, estorno e estorno reverso, este será o requestId que o integrador de pagamentos envia com a notificação desse evento. Para os ajustes, será um código exclusivo atribuído pelo Google ao evento de ajuste.

paymentIntegratorEventId

string

OBRIGATÓRIO: ID do integrador de pagamentos retornado para esse evento. Para uma captura, esse é o paymentIntegratorTransactionId da resposta a uma chamada capture. Para um reembolso, esse é o paymentIntegratorRefundId da resposta a uma chamada refund.

Esse campo tem tamanho variável. Como integrador, qualquer ID que você fornecer para esse evento vai aparecer aqui. Se um valor não tiver sido fornecido pelo integrador para o evento correspondente, esse campo terá o mesmo valor que o campo eventRequestId.

Para eventos de reembolso reverso, estorno e estorno reverso, este será o requestId que o integrador de pagamentos enviou com a notificação do evento.

O tamanho e o formato desse campo dependem do campo de origem de cada ID. Consulte a documentação de cada um dos campos de origem para saber detalhes sobre os requisitos de tamanho e conjunto de caracteres. Esse campo às vezes pode conter IDs gerados pelo Google, que podem ter requisitos de tamanho máximo diferentes dos IDs gerados pelo integrador.

eventCharge

string (Int64Value format)

OBRIGATÓRIO: no código de moeda definido pela instrução. Se esse valor for negativo, ele representa um valor monetário transferido do Google para o integrador de pagamentos. Se for positivo, é dinheiro do integrador de pagamentos devido ao Google.

Por exemplo, as transações de captura sempre serão positivas e as de reembolso sempre serão negativas. Os eventos de reembolso reverso e estorno reverso sempre serão positivos. Os eventos de estorno sempre serão negativos.

Esse valor está em micros.

eventFee

string (Int64Value format)

OBRIGATÓRIO: no código de moeda definido pela instrução. Se esse valor for negativo, ele representa um valor monetário transferido do Google para o integrador de pagamentos. Se for positivo, é dinheiro do integrador de pagamentos devido ao Google.

Por exemplo, se um contrato afirmar que o Google vai pagar 1% de transactionCharge para o integrador de pagamentos e reverter esse 1% após o reembolso dessa transação, a taxa de captura será negativa e, após o reembolso, a taxa de reembolso será positiva.

Esse valor está em micros.

presentmentChargeAmount

string (Int64Value format)

OPCIONAL: valor da transação na moeda de apresentação (também conhecida como transação) antes do câmbio estrangeiro. Esse campo segue a mesma convenção de sinal que o campo eventCharge.

Esse valor está em micros.

presentmentCurrencyCode

string

OPCIONAL: código ISO 4217 de três letras que denomina a moeda da apresentação (transação).

exchangeRate

string (Int64Value format)

OPCIONAL: a taxa de câmbio usada na conversão do valor da apresentação para o valor de liquidação (fatura).

Esse valor está em pontos base micro (1 ponto base = 0,0001 = 0,01%). Ou seja, para obter a taxa de câmbio, divida esse campo por 10^10.

nanoExchangeRate

string (Int64Value format)

OPCIONAL: a taxa de câmbio usada na conversão do valor da apresentação para o valor de liquidação (fatura), expressa em pontos base nano.

Esse valor está em pontos base nano (1 ponto base = 0,0001 = 0,01%). Ou seja, para obter a taxa de câmbio, divida esse campo por 10^13.

Este campo e o valor de troca serão preenchidos. Elas são taxas de câmbio equivalentes expressas com precisão diferente. Em versões futuras, o ExchangeRate será removido e substituído pelo nanoExchangeRate.