Method: remittanceStatementDetails

Retorna informações detalhadas sobre uma transação em 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, o máximo de 1.000 eventos será retornado por página. Cada solicitação para essa API vai retornar um nextEventOffset apontando para o próximo evento de transação na demonstração, bem como totalEvents especificando o número total de transações na demonstração. Se a página recuperada atual contiver as últimas transações do extrato, nextEventOffset não estará presente na resposta.

O valor statementId é o requestId do remittanceStatementNotificationRequest.

Se o endpoint encontrar um erro durante o processamento da solicitação, a resposta dele será do tipo ErrorResponse.

As respostas a essa consulta podem estar vazias se esse método não retornar um HTTP 200. O corpo da resposta fica vazio quando um ErrorResponse com uma descrição clara pode ser usado por um invasor para descobrir o identificador da conta de integrador de pagamentos de outros integradores. Nas situações em que a chave de assinatura não corresponde, o identificador do integrador de pagamento não foi encontrado ou a chave de criptografia é desconhecida, este método retorna um HTTP 404 com um corpo vazio. Se for possível verificar a assinatura da solicitação, outras informações sobre o erro serão retornadas no corpo da resposta.

Exemplo de solicitação:


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

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: identificador da conta do integrador de pagamentos que identifica restrições contratuais relacionadas a esta declaração.

statementId

string

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

eventOffset

integer

OPCIONAL: retorna eventos a partir desse deslocamento. Defina como o nextEventOffset se um for retornado ou deixe sem especificação se for a primeira solicitação. Se eventOffset for zero, os eventos serão retornados começando pelo primeiro. Se for dois, os eventos serão retornados a partir do terceiro. Se não for especificado, eventOffset será considerado como zero.

numberOfEvents

integer

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

Corpo da resposta

Objeto de resposta para o método de detalhes do extrato 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 deste extrato de remessa.

eventOffset

integer

OBRIGATÓRIO: o deslocamento do evento desta resposta.

nextEventOffset

integer

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

totalEvents

integer

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

totalWithholdingTaxes

string (Int64Value format)

OBRIGATÓRIO: a soma de todos os tributos retidos para esta declaração.

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 reversão do estorno.

adjustmentEvents[]

object (Event)

OPCIONAL: conjunto de eventos de ajuste. Os eventos de ajuste podem ser adicionados a critério do Google para conciliar discrepâncias de faturamento. Por exemplo, se as taxas foram subestimadas para um conjunto de transações anteriores, um ajuste pode ser usado para compensar o integrador.

RemittanceStatementSummary

Objeto de resumo sobre um extrato 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 (em America/Los Angeles) em que esta declaração foi criada.

billingPeriod

object (BillingPeriod)

OBRIGATÓRIO: o período de faturamento coberto por esta declaração.

dateDue

string (int64 format)

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

Isso é definido desde que o 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 de currencyCode. Esse valor é sempre positivo.

remittanceInstructions

object (RemittanceInstructions)

OBRIGATÓRIO: detalhes sobre como fazer o pagamento

BillingPeriod

Período de faturamento desta declaração.

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 desde a é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 desde a época.

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

RemittanceInstructions

Estrutura que contém informações sobre como pagar esta notificação de remessa.

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

string

OBRIGATÓRIO: identificador que precisa ser colocado na linha de observações para identificação do pagamento da remessa.

Evento

Estrutura que representa um único evento incluído em um extrato 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 reversão do estorno, esse será o requestId que o integrador de pagamentos envia com a notificação do evento. Para ajustes, esse será um ID exclusivo atribuído pelo Google ao evento de ajuste.

paymentIntegratorEventId

string

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

Esse campo tem comprimento variável, já que um integrador reflete aqui qualquer ID fornecido para esse evento. Se um valor não foi fornecido pelo integrador para o evento correspondente, esse campo vai conter o mesmo valor do campo eventRequestId.

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

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

eventCharge

string (Int64Value format)

OBRIGATÓRIO: na moeda definida pela declaração. Se esse valor for negativo, ele representará o 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 serão sempre positivas, e as de reembolso, sempre negativas. Os eventos de reembolso invertido e reversão do estorno serão sempre positivos. Os eventos de estorno sempre serão negativos.

Esse valor está em micros.

eventFee

string (Int64Value format)

OBRIGATÓRIO: na moeda definida pela declaração. Se esse valor for negativo, ele representará o 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 disser que o Google vai pagar 1% do transactionCharge ao integrador de pagamentos e vai reverter esse 1% após o reembolso da 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 (ou seja, da transação) antes da troca de moeda estrangeira. Esse campo segue a mesma convenção de sinal do campo eventCharge.

Esse valor está em micros.

presentmentCurrencyCode

string

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

exchangeRate
(deprecated)

string (Int64Value format)

DESCONTINUADO: a taxa de câmbio usada para converter o valor da apresentação no valor da liquidação (fatura).

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

nanoExchangeRate

string (Int64Value format)

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

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

Os dois campos serão preenchidos. São taxas de câmbio equivalentes expressas com diferentes níveis de precisão. Em versões futuras, exchangeRate será removido em favor de nanoExchangeRate.