Hybrid Flow
Entenda como funciona o fluxo de consentimento e suas integrações como Detentora de Contas.
Realizar pagamento
O fluxo abaixo representa a iniciação de pagamentos de qualquer ITP com uma detentora de contas integrada ao Brick Bank® para a realização de um pagamento Pix por meio do Open Finance.
Criação do consentimento
- O usuário solicita a realização de um pagamento Pix por meio do Open Finance [1].
- O ITP retorna uma lista de marcas de Detentores de Contas ativos [2];
- O usuário seleciona a marca do Detentor de Contas para realizar o pagamento [3];
- O ITP retorna as formas de pagamento disponíveis na Detentora de Contas selecionada anteriormente [4];
- O usuário seleciona a forma de pagamento Pix (chave, INIC, manual ou QR Code);
- O ITP identifica a Detentora de Contas selecionada anteriormente e realiza uma solicitação de consentimento ao Brick Bank® [6], o qual realiza todas as validações de segurança e de autorização para a Detentora de Contas e cria o consentimento;
- O consentimento é criado com o status
AWAITING_AUTHORISATION
;
- O consentimento é criado com o status
- O Brick Bank® retorna para o ITP a URL de redirecionamento para a Detentora de Contas [7];
- Essa URL deve ser previamente configurada no Dev Tools pela Detentora de Contas;
- O ITP informa o usuário e o redireciona para a Detentora de Contas [8];
- A Detentora de Contas apresenta a tela de autenticação para o usuário [9];
- O usuário realiza a autenticação na Detentora de Contas [10];
- A Detentora de Contas captura o CPF/CNPJ do usuário/empresa e criptografa essa informação [11];
- A Detentora de Contas realiza a chamada POST /{interactionId}/login, e envia os dados criptografados do cliente no body da requisição [12];
- O Brick Bank® recebe a requisição e realiza uma consulta para verificar se os dados do consentimento pertencem ao usuário recém autenticado;
- A Detentora de Contas deve disponibilizar uma API para descriptografar o CPF/CNPJ [13];
- Em caso de divergência entre os dados do consentimento e os dados do login, o Brick Bank® realiza uma trava de segurança para que o consentimento não seja aprovado por um usuário indevido;
- O Brick Bank® retorna todos os dados do consentimento para a Detentora de Contas [15] para que ela monte a tela de autorização [16];
Autorização do pagamento
- O usuário autoriza o consentimento de pagamento na Detentora de Contas [17];
- A Detentora de Contas realiza uma chamada na API POST /interactionId/consent para aprovar o consentimento no Brick Bank® [18];
- O status do consentimento é alterado para
AUTHORISED
;
- O status do consentimento é alterado para
- O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [19];
- A Detentora de Contas informa o usuário e o redireciona para o ITP [20];
- O ITP inicia o pagamento via chamada POST /payment/pix para o Brick Bank® [21];
- A partir da versão 4.0.0 da API de Pagamentos Automáticos, o ITP pode realizar agendamentos recorrentes de forma diária, semanal, mensal ou customizado. Nada muda do lado detentor de contas em termos de jornada;
- O Brick Bank® recebe a requisição e a encaminha à Detentora de Contas [22];
- A Detentora de Contas retorna um HTTP Status Code 201 com os dados do pagamento [23];
- O status do consentimento é alterado para
CONSUMED
;
- O status do consentimento é alterado para
- O Brick Bank® retorna os dados do pagamento para o ITP [24].
Efetivação do pagamento
Após o término do processo de pagamento, é importante verificar o seu status para garantir que tudo ocorreu como esperado e, em caso de exceção, tratar da maneira mais adequada. Para isso, é possível utilizar duas estratégias diferentes:
Polling
Veja seção Consultar status do pagamento.
Webhook
- A Detentora de Contas aguarda até que o status do pagamento seja atualizado. Neste momento, ela informa o Brick Bank® via chamada na API
POST /pix/payments/{paymentId}
[27]; - O Brick Bank® recebe a notificação e a encaminha ao ITP informando que o status do pagamento foi alterado [28];
- O ITP recebe a informação e apresenta o status atual para o usuário final [29].
Rejeição do pagamento
- O usuário rejeita o consentimento de pagamento na Detentora de Contas [30];
- A Detentora de Contas rejeita o consentimento junto ao Brick Bank® via POST /interactionId/cancel [31];
- O status do consentimento é alterado para
REJECTED
;
- O status do consentimento é alterado para
- O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [32];
- A Detentora de Contas informa o usuário e o redireciona para o ITP [33].
Consultar status do pagamento
A Iniciadora de Pagamentos poderá consultar o status do pagamento liquidado na sua instituição. Neste caso, é responsabilidade da sua aplicação prover um endpoint que retorne essa informação.
- O Brick Bank® recebe a requisição de consulta do status do pagamento [1] e a encaminha à Instituição Detentora de Contas (marca) selecionada no início da jornada de pagamento [2]. Essa requisição pode ser motivada (i) pelo usuário que deseja saber o status de determinado pagamento na área de Gestão de Pagamentos da Iniciadora ou (ii) como fluxo natural da jornada de pagamento.
- A Detentora de Contas retorna para o Brick Bank® o status atual do pagamento [3];
- O Brick Bank® retorna o status do pagamento para a Iniciadora de Pagamentos [4].
Cancelar Pix Agendado
Para pagamentos agendados, é possível realizar o cancelamento do agendamento antes da data de efetivação.
- O Brick Bank® recebe uma requisição de cancelamento [1] e a encaminha à API da Detentora de Contas [2];
- A Detentora de Contas processa o cancelamento do agendamento e retorna os dados do pagamento cancelado para o Brick Bank® [3];
- O cancelamento de pagamento agendado (
SCHD
) pode ser enviado até 23:59 (horário de Brasília) do dia anterior à data de efetivação do pagamento. - Caso o status do pagamento seja diferente de
SCHD
ouPDNG
ou alguma outra regra de negócio impeça o cancelamento, deve-se retornar um HTTP Status Code 422 com o códigoPAGAMENTO_NAO_PERMITE_CANCELAMENTO
;
- O cancelamento de pagamento agendado (
- O Brick Bank® transmite os dados do pagamento cancelado para a Iniciadora de Pagamentos.
Procurando por algo específico?
Utilize nossos atalhos de teclado! Pressione Cmd + K (macOS) ou Ctrl + K (Windows) e digite o que você está precisando!
Updated 23 days ago