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ão retornados no máximo 1.000 eventos por página. Cada solicitação para essa API retornará um nextEventOffset que aponta para o próximo evento de transação no extrato, bem como totalEvents que especifica o número total de transações no extrato. Se a página recuperada atual contiver as últimas transações da instrução, nextEventOffset não estará presente na resposta.

O valor de statementId é o requestId do remittanceStatementNotificationRequest.

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

As respostas a esta consulta podem estar vazias se esse método não retornar um 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. Nessas situações, 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 retorna um HTTP 404 com um corpo vazio. Se a assinatura da solicitação puder ser verificada, informações adicionais sobre o erro serão retornadas no corpo da resposta.

Veja abaixo um 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
}

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 restrições contratuais relacionadas a este extrato.

statementId

string

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

eventOffset

integer

OPCIONAL: retorne os eventos a partir desse deslocamento. É necessário defini-la como nextEventOffset, se ela tiver sido retornada, ou não ser especificada, se for a primeira solicitação. Se eventOffset for zero, os eventos serão retornados a partir do primeiro evento. Se forem dois, os 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, este será 1.000.

Corpo da resposta

Objeto de resposta para o método de detalhes da declaraçã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 desta declaração de remessa.

eventOffset

integer

OBRIGATÓRIO: o deslocamento de 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 neste extrato.

totalWithholdingTaxes

string (Int64Value format)

OBRIGATÓRIO: soma de todos os tributos retidos dessa 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 estorno reverso.

adjustmentEvents[]

object (Event)

OPCIONAL: conjunto de eventos de ajuste. Os eventos de ajuste podem ser adicionados a critério do Google para reconciliar discrepâncias de faturamento. Por exemplo, se as taxas não forem calculadas corretamente para um conjunto de transações anteriores, um ajuste poderá ser usado para definir o integrador como um todo.

Resumo da declaração

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 (na América/Los Angeles) em que a fatura foi criada.

billingPeriod

object (BillingPeriod)

OBRIGATÓRIO: período de faturamento correspondente a esse extrato.

dateDue

string (int64 format)

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

É 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: este valor está em micros na moeda de currencyCode. Esse valor é sempre positivo.

remittanceInstructions

object (RemittanceInstructions)

OBRIGATÓRIO: detalhes sobre como efetuar o pagamento

Período de faturamento

Período de faturamento do 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 da época. É uma data (e, por isso, 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 da época.

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

Instruções de remessa

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 deve ser colocado na linha do memorando para o pagamento da 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, este será o requestId enviado pelo Google com a solicitação. Para reembolsos, estornos e eventos de estorno reverso, esse será o requestId que o integrador de pagamentos enviará com a notificação desse evento. Para ajustes, esse será um ID exclusivo atribuído pelo Google ao evento de ajuste.

paymentIntegratorEventId

string

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

Este campo tem comprimento variável, pois o integrador que fornecer o ID para esse evento será refletido aqui. Se um valor não tiver sido fornecido pelo integrador para o evento correspondente, esse campo conterá o mesmo valor que o campo eventRequestId.

Para reembolsos, estornos e eventos de estorno reverso, esse será o requestId enviado pelo integrador de pagamentos com a notificação do evento.

O tamanho e o formato desse campo dependem do campo de origem de cada código. Consulte a documentação de cada um dos campos de origem para ver detalhes sobre os requisitos de tamanho e conjunto de caracteres. Esse campo 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 da moeda definido na fatura. Se esse valor for negativo, ele representa o valor monetário transferido do Google para o integrador de pagamentos. Se for positivo, significa que é o dinheiro do integrador de pagamentos devido ao Google.

Por exemplo, as transações de captura serão sempre positivas, e as de reembolso sempre serão negativas. Reembolsos e eventos de 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 da moeda definido na fatura. Se esse valor for negativo, ele representa o valor monetário transferido do Google para o integrador de pagamentos. Se for positivo, significa que é o dinheiro do integrador de pagamentos devido ao Google.

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

Esse valor está em micros.

presentmentChargeAmount

string (Int64Value format)

OPCIONAL: o valor da transação na moeda da apresentação (ou transação) antes da taxa de câmbio. Esse campo segue a mesma convenção de assinatura que o campo eventCharge.

Esse valor está em micros.

presentmentCurrencyCode

string

OPCIONAL: o código de moeda ISO 4217 com três letras, que indica 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 da liquidação (fatura).

Esse valor está em pontos de base micro (1 ponto de base = 0,0001 = 0,01%). Isto é, para obter a taxa de câmbio, divida este 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 da liquidação (fatura), expressa em pontos de base nano.

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

Esse campo e a trocaRate serão preenchidos. São taxas de câmbio equivalentes expressas com precisão diferente. Em versões futuras, o exchangeRate será removido do nanoExchangeRate.