Method: remittanceStatementNotification

Notifica o integrador de uma nova declaração de remessa.

As notificações de extrato ocorrem toda vez que uma nova fatura representa um valor que o Google paga ao integrador ou ao devedor.

Se o integrador retornar um sucesso, presume-se que o extrato foi aceito e será pago.

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

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

Veja abaixo um exemplo de solicitação:


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

remittanceStatementSummary

object (RemittanceStatementSummary)

OBRIGATÓRIO: resumo desta declaração de remessa.

Corpo da resposta

Objeto de resposta para o método de notificação 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)
  },
  "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 como essa instrução. Este é o integrador gerado.

result

enum (StatementNotificationResultCode)

OBRIGATÓRIO: resultado desta notificação de extrato.

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.

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.