- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- RequestHeader
- Versão
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
Notifica o integrador sobre uma nova declaração de remessa.
As notificações de extrato ocorrem sempre que é gerada uma nova declaração representando o dinheiro que o Google vai pagar ao integrador ou o dinheiro que o integrador deve ao Google.
Se o integrador retornar um sucesso, ele confirmará o recebimento da instrução.
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 desse endpoint precisará ser do tipo
.ErrorResponse
Este é 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"
}
}
}
Um exemplo de resposta é semelhante a:
{
"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 ( |
Campos | |
---|---|
requestHeader |
OBRIGATÓRIO: cabeçalho comum para todas as solicitações. |
paymentIntegratorAccountId |
OBRIGATÓRIO: é o identificador da conta do integrador de pagamentos que identifica as restrições contratuais relacionadas à instrução. |
remittanceStatementSummary |
OBRIGATÓRIO: resumo desta declaração de remessa. |
Corpo da resposta
Objeto de resposta para o método de notificação de extrato de remessa.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
OBRIGATÓRIO: cabeçalho comum para todas as respostas. |
paymentIntegratorStatementId |
REQUIRED: identificador com o qual o integrador conhece essa instrução. Este é o integrador gerado. |
result |
REQUIRED: resultado da notificação de instrução. |
RequestHeader
Objeto "Header" definido em todas as solicitações enviadas ao servidor.
Representação JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Campos | |
---|---|
requestId |
OBRIGATÓRIO: identificador exclusivo da solicitação. Essa é uma string com tamanho máximo de 100 caracteres e apenas os caracteres "a-z", "A-Z", "0-9", ":", "-" e "_". |
requestTimestamp |
REQUIRED: carimbo de data/hora da solicitação representado como milissegundos desde a época. O receptor precisa verificar se esse carimbo de data/hora tem ± 60 s de "now". Esse carimbo de data/hora da solicitação não é idempotente em novas tentativas. |
userLocale |
OBSOLETO: um código de idioma ISO 639-2 Alfa 3 de duas ou três letras opcionalmente seguido por um hífen e um código de país ISO 3166-1 Alfa-2, por exemplo, 'pt', 'pt-BR', 'fil' ou 'fil-PH'. Use isso para ajudar a direcionar os campos |
protocolVersion |
OBRIGATÓRIO: a versão da solicitação. |
Versão
O objeto Version, que é uma forma estruturada da estrutura de versão clássica do a.b.c
. As principais versões do mesmo número têm garantia de compatibilidade. Pequenas e revisões podem ser alteradas com frequência e sem aviso prévio. O integrador precisa oferecer suporte a todas as solicitações para a mesma versão principal.
Representação JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Campos | |
---|---|
major |
OBRIGATÓRIO: versão principal. Isso é marcado para solicitações de compatibilidade com versões diferentes. |
minor |
OBRIGATÓRIO: versão secundária. Isso indica correções de bugs significativas. |
revision |
OBRIGATÓRIO: versão secundária. Isso indica pequenas correções de bugs. |
RemittanceStatementSummary
Objeto de resumo sobre uma declaração de remessa.
Representação JSON |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Campos | |
---|---|
statementDate |
OBRIGATÓRIO: data (nos Estados Unidos/Los Angeles) em que a declaração foi criada. |
billingPeriod |
OBRIGATÓRIO: o período de faturamento coberto pelo extrato. |
dateDue |
OPCIONAL: a data de vencimento da remessa. Isso é representado como milissegundos a partir da época. É uma data e, portanto, sempre começará no primeiro milissegundo do dia no fuso horário de faturamento. Ele é definido desde que a |
currencyCode |
OBRIGATÓRIO: código de moeda ISO 4217 de três letras. |
totalDueByIntegrator |
OBRIGATÓRIO: este valor está em micros na moeda |
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 |
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çará 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 |
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 que contém informações sobre como pagar esta notificação de remessa.
Representação JSON |
---|
{ "memoLineId": string } |
Campos | |
---|---|
memoLineId |
OBRIGATÓRIO: identificador que precisa ser colocado na linha do memorando para pagamento e identificação da remessa. |
ResponseHeader
Objeto de cabeçalho que é definido em todas as respostas enviadas pelo servidor.
Representação JSON |
---|
{ "responseTimestamp": string } |
Campos | |
---|---|
responseTimestamp |
REQUIRED: carimbo de data/hora dessa resposta representado como milissegundos desde o período. O receptor precisa verificar se esse carimbo de data/hora tem ± 60 s de "now". |
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. |