Jornada Sem Redirecionamento (JSR)

Entenda como funciona o fluxo de vínculo de contas e pagamento sem redirecionamento.

O fluxo abaixo representa uma iniciação de pagamento de qualquer ITP com uma detentora de contas integrada ao Brick Bank® para a realização do vínculo de conta e pagamento sem redirecionamento por meio do Open Finance:

Vínculo de Dispositivo

  1. O usuário solicita a realização do vínculo de conta através do Open Finance [1];
  2. O ITP retorna uma lista de marcas de Detentores de Contas ativos [2];
  3. O usuário seleciona a Detentora de Contas para realizar o vínculo de conta [3];
  4. O ITP identifica a Detentora de Contas selecionada anteriormente e realiza uma solicitação de vínculo ao Brick Bank® [4], o qual realiza todas as validações de segurança e de autorização para a Detentora de Contas e cria o vínculo [5];
    1. O vínculo é criado com o status AWAITING_RISK_SIGNALS;
  5. A fim de informar a integridade do seu dispositivo e do seu aplicativo, o ITP envia os seus respectivos sinais de risco ao Brick Bank® [6];
    1. Caso os sinais de risco não sejam informados em até 5 minutos, o vínculo de conta assumiá o status REJECTED,
  6. O ITP redireciona o seu usuário para a Detentora de Conta inicialmente selecionada [8];
  7. A Detentora de Contas apresenta a tela de autenticação para o usuário [9];
  8. O usuário realiza a autenticação na Detentora de Contas [10];
  9. A Detentora de Contas captura o CPF/CNPJ do usuário/empresa e criptografa essa informação [11];
  10. A Detentora de Contas realiza a chamada POST /{interactionId}/login, e envia os dados criptografados do cliente no corpo da requisição [12];
  11. O Brick Bank® recebe a requisição e realiza uma consulta para verificar se os dados do vínculo pertencem ao usuário recém autenticado [11];
    1. A Detentora de Contas deve disponibilizar uma API para descriptografar o CPF/CNPJ [12];
    2. Em caso de divergência entre os dados do vínculo e os dados do login, o Brick Bank® realiza uma trava de segurança para que o vínculo não seja aprovado por um usuário indevido;
  12. O Brick Bank® retorna todos os dados do consentimento para a Detentora de Contas [13] para que ela monte a tela de autorização [14];

Autorização do Vínculo

  1. O usuário autoriza o vínculo de conta na Detentora de Contas [15];
  2. A Detentora de Contas realiza uma chamada na API POST /interactionId/consent para aprovar o vínculo no Brick Bank® [16];
    1. <confirmar o status do vínculo>
  3. O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [17];
  4. A Detentora de Contas informa o usuário e o redireciona para o ITP [18];
  5. A Iniciadora de Pagamentos obtém os parâmetros para a criação de uma nova credencial via chamada (POST /fido-registration-options) para o Brick Bank® [19];
  6. O Brick Bank® recebe a requisição e gera os parâmetros FIDO no FIDO2 Server implementado no Brick Bank® [20] e retorna os parâmetros para a Iniciadora de Pagamentos [21] e [22];
  7. A Iniciadora de Pagamentos cria a credencial do usuário [23];
  8. A Iniciadora de Pagamentos envia os dados da credencial via chamada (POST {enrollmentId}/fido-registration) para o Brick Bank® [24];
  9. E em seguida, o Brick Bank® envia os dados da credencial para o FIDO2 Server [25] realizar a validação [26];
  10. O FIDO2 Server confirma a validação com o HTTP Status 204 para o Brick Bank® [27];
  11. O Brick Bank® retorna a confirmação com o HTTP Status 204 para a Iniciadora de Pagamentos [28].

Efetivação do Pagamento

  1. O usuário realiza um pagamento sem redirecionamento na Iniciadora de Pagamentos [29];
  2. A Iniciadora de Pagamentos obtém os parâmetros de autenticação através da chamada na API (POST {enrollmentId}/fido-sign-options) para o Brick Bank® [30];
  3. O Brick Bank® consulta os parâmetros no FIDO2 Server [31] que retorna todos os parâmetros para o Brick Bank® [32];
  4. O Brick Bank® recebe os parâmetros e retorna para a Iniciadora de Pagamentos [33];
  5. A Iniciadora de Pagamentos solicita o gesto do usuário para aprovar o pagamento [34];
  6. O usuário autentica através dos parâmetros definidos e aprova o pagamento [35];
  7. A Iniciadora de Pagamentos recebe o gesto do usuário e aprova o pagamento para o Brick Bank® através da chamada (POST {consentId}/authorise) [36];
  8. O Brick Bank® realiza a autorização do pagamento no FIDO2 Server [37], que retorna todas as informações de autorização do pagamento [38];
  9. O Brick Bank® retorna todas as informações de autorização do pagamento para a Iniciadora de Pagamento [39];
  10. A Iniciadora de Pagamentos apresenta a tela de efetivação do pagamento [40].