Webhook de Pagamentos

Como registrar um WebHook para receber as atualizações de eventos de consentimento

 

Para se manter atualizado sobre qualquer evento no ciclo de vida do consentimento, você deve registrar um endpoint de webhook no painel da sua aplicação, no menu configurações, para receber as informações de atualização.

O endpoint do webhook deve estar no método POST, em https. O domínio e a URI podem estar em qualquer formato que você tenha em sua plataforma, para os exemplos abaixo consideraremos o exemplo de endpoint POST https://www.my-domain.com/webhook

Depois de implementar esta API em sua plataforma, você precisa registrá-la para receber notificações por meio de nossa API de registro de webhook.

Mas para acessar essa API, você precisa realizar uma etapa anterior, que consiste em se autenticar usando as credenciais do seu aplicativo. Descreveremos o passo a passo neste tópico.

 

Acess Token Request (usando as credenciais do My First App)

curl --location --request POST 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/portal/onboard/v1/token' \ --header 'Content- Type: application/json' \ --data-raw '{ "client_id":"64b51075-45bf-46cc-aed4-29b69b51816d", "client_secret": "9257b897-01ca- 4ebd-9fd4-************"}'

 

Acess Token Response

{ "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJSY0hYOGxFRl93QmxFNUF3eXY2TV9JQUFEUm1pSzV5SWlnW "expires_in": 3600, "refresh_expires_in": 0, "token_type": "Bearer", "not-before-policy": 0, "scope": "email profile" }

 

Agora você precisa obter o conteúdo do parâmetro "access_token" e incluí-lo como um cabeçalho Authentication Bearer para todas as futuras chamadas de API.

 

Gerado o access_token, vamos registrar seu webhook usando a solicitação abaixo.

 

Request Webhook - API Depreciada

curl --location 'https://onboard.smartkeys.celcoin.dev.fsapps.io/api/smart-keys/interceptors' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {{your_generated_access_token_here}}' \ --data '{ "endpoint": "https://www.my-domain.com/webhook", "isAuthenticated": false, "authenticationType": "", "user": "", "password": "", "type": "PAYMENT" }'

 

 

A solicitação retornará os seguintes códigos de status Http.

HTTP Status Code

 

HTTP Status Code

 

201

Webhook succesfully registered.

400

Bad Request - error at request field validations.

401

The used token is not allowed to access the resource.

 

 

 

 

 

Evento

Detalhes

Evento

Detalhes

before : consent : create

Recebemos uma solicitação para uma criação de consentimento.

after : consent : create

Todos os campos de consentimento foram validados, está seguindo todos os padrões necessários e foi criado.

consent : approved

O consentimento foi aprovado pelo usuário.

consent : rejected

O consentimento foi rejeitado pelo usuário.

consent : consumed

O consentimento foi consumido pela Instituição Financeira.

consent : polling

Sondagem para verificar a situação do pagamento na Instituição Financeira.

consent : finish

O dinheiro foi transferido com sucesso ou houve algum erro relatado por uma das Instituições Financeiras envolvidas na transação. Mais informações são fornecidas dentro dos dados de campo.

consent : expired

O consentimento expirou. Não foi aprovado ou rejeitado após 5 minutos da criação OU após aprovação/rejeição não foi consumido em 70 minutos.

consent : revoke

Consentimento revogado pelo usuário (geralmente após aprovação)

 

 

Para testar o processo do WebHook, ele também pode ser configurado na seção Gestão de Endpoints do portal de desenvolvimento. Utilizaremos o Site WebHook (Webhook.site - Test, transform and automate Web requests and emails) para simular o processo. O site irá gerar um URL WebHook conforme mostrado abaixo.

 

 

Copie a URL do WebHook gerada e registre-se nas Configurações do aplicativo na seção "Gerenciamento de endpoints". Você deve inserir como método POST e receberá um Json no body.