Method: remittanceStatementNotification

Notifica o integrador de um novo extrato de remessa.

As notificações de extrato ocorrem sempre que uma nova declaração é gerada e representa o dinheiro que o Google vai pagar ao integrador ou o dinheiro que o integrador deve ao Google.

Se o integrador retornar um sucesso, vamos presumir que a declaração foi aceita e vai ser paga.

O requestId também é o ID da instrução (usado em outro lugar). A combinação de requestId no cabeçalho e paymentIntegratorAccountId é a chave de idempotência e identifica essa instrução de maneira exclusiva.

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "0123434-statement-abc",
    "requestTimestamp": "1502632800000"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "remittanceStatementSummary": {
    "statementDate": "1502607600000",
    "billingPeriod": {
      "startDate": "1502434800000",
      "endDate": "1502521199000"
    },
    "dateDue": "1503212400000",
    "currencyCode": "INR",
    "totalDueByIntegrator": "1076000000",
    "remittanceInstructions": {
      "memoLineId": "stmt-1AB-pp0-invisi"
    }
  }
}

Veja um exemplo de resposta:


{
  "responseHeader": {
    "responseTimestamp": "1502632802000"
  },
  "paymentIntegratorStatementId": "334a",
  "result": "ACCEPTED"
}

Solicitação HTTP

POST https://www.integratorhost.example.com/v1/remittanceStatementNotification

Corpo da solicitação

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

Representação JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  }
}
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.

remittanceStatementSummary

object (RemittanceStatementSummary)

OBRIGATÓRIO: resumo do extrato de remessa.

Corpo da resposta

Objeto de resposta para o método de notificação do extrato da fatura.

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

Representação JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorStatementId": string,
  "result": enum (StatementNotificationResultCode)
}
Campos
responseHeader

object (ResponseHeader)

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

paymentIntegratorStatementId

string

OBRIGATÓRIO: identificador que o integrador conhece essa instrução. Isso é gerado pelo integrador.

result

enum (StatementNotificationResultCode)

OBRIGATÓRIO: resultado da notificação dessa instrução.

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.

StatementNotificationResultCode

Códigos de resultado para notificação de extrato.

Enums
UNKNOWN_RESULT Nunca defina esse valor padrão.
ACCEPTED O integrador aceitou esta declaração.