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

  1. O usuário solicita a realização de um pagamento Pix por meio do Open Finance [1].
  2. O ITP retorna uma lista de marcas de Detentores de Contas ativos [2];
  3. O usuário seleciona a marca do Detentor de Contas para realizar o pagamento [3];
  4. O ITP retorna as formas de pagamento disponíveis na Detentora de Contas selecionada anteriormente [4];
  5. O usuário seleciona a forma de pagamento Pix (chave, INIC, manual ou QR Code);
  6. 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;
    1. O consentimento é criado com o status AWAITING_AUTHORISATION;
  7. O Brick Bank® retorna para o ITP a URL de redirecionamento para a Detentora de Contas [7];
    1. Essa URL deve ser previamente configurada no Dev Tools pela Detentora de Contas;
  8. O ITP informa o usuário e o redireciona para a Detentora de Contas [8];
  9. A Detentora de Contas apresenta a tela de autenticação para o usuário [9];
  10. O usuário realiza a autenticação na Detentora de Contas [10];
  11. A Detentora de Contas captura o CPF/CNPJ do usuário/empresa e criptografa essa informação [11];
  12. A Detentora de Contas realiza a chamada POST /{interactionId}/login, e envia os dados criptografados do cliente no body da requisição [12];
  13. 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;
    1. A Detentora de Contas deve disponibilizar uma API para descriptografar o CPF/CNPJ [13];
    2. 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;
  14. 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

  1. O usuário autoriza o consentimento de pagamento na Detentora de Contas [17];
  2. A Detentora de Contas realiza uma chamada na API POST /interactionId/consent para aprovar o consentimento no Brick Bank® [18];
    1. O status do consentimento é alterado para AUTHORISED;
  3. O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [19];
  4. A Detentora de Contas informa o usuário e o redireciona para o ITP [20];
  5. O ITP inicia o pagamento via chamada POST /payment/pix para o Brick Bank® [21];
    1. 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;
  6. O Brick Bank® recebe a requisição e a encaminha à Detentora de Contas [22];
  7. A Detentora de Contas retorna um HTTP Status Code 201 com os dados do pagamento [23];
    1. O status do consentimento é alterado para CONSUMED;
  8. 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

  1. 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];
  2. O Brick Bank® recebe a notificação e a encaminha ao ITP informando que o status do pagamento foi alterado [28];
  3. O ITP recebe a informação e apresenta o status atual para o usuário final [29].

Rejeição do pagamento

  1. O usuário rejeita o consentimento de pagamento na Detentora de Contas [30];
  2. A Detentora de Contas rejeita o consentimento junto ao Brick Bank® via POST /interactionId/cancel [31];
    1. O status do consentimento é alterado para REJECTED;
  3. O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [32];
  4. 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.

Fluxo de consulta do status do Pix.

Fluxo de consulta do status do Pix.

  1. 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.
  2. A Detentora de Contas retorna para o Brick Bank® o status atual do pagamento [3];
  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.

  1. O Brick Bank® recebe uma requisição de cancelamento [1] e a encaminha à API da Detentora de Contas [2];
  2. A Detentora de Contas processa o cancelamento do agendamento e retorna os dados do pagamento cancelado para o Brick Bank® [3];
    1. 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.
    2. Caso o status do pagamento seja diferente de SCHD ou PDNG ou alguma outra regra de negócio impeça o cancelamento, deve-se retornar um HTTP Status Code 422 com o código PAGAMENTO_NAO_PERMITE_CANCELAMENTO;
  3. 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!