Jornada Sem Redirecionamento (JSR)

O fluxo abaixo representa a interação de uma ITP integrada ao Brick Bank® com qualquer detentora de contas para o vínculo de conta e pagamento sem redirecionamento.

Vínculo de Dispositivo

  1. O usuário solicita o vínculo de conta via Open Finance junto à instituição Iniciadora de Pagamentos [1] e seleciona a instituição Detentora de Contas para selecionar e vincular a conta em seu dispositivo;
  2. A instituição Iniciadora de Pagamentos realiza uma solicitação de vínculo ao Brick Bank® [2] através do endpoint POST /api/admin/payment-initiation/v1/enrollments com os dados de vínculo de conta no body da requisição;
  3. O Brick Bank® recebe a requisição, valida o body e realiza uma requisição para a Detentora de Contas criar o vínculo de dispositivo (enrollmentId). [3];
    1. O vínculo é criado com o status AWAITING_RISK_SIGNAL [4];
  4. O Brick Bank® recebe as informações de vínculo de dispositivo e retorna os dados para a Iniciadora de Pagamentos [5];
  5. A instituição Iniciadora de Pagamentos envia os sinais de riscos do dispositivo através do endpoint POST /api/enrollments/{enrollmentId}/risk-signals [6];
  6. O Brick Bank recebe os parâmetros de sinais de riscos e envia para a Detentora de Contas [7];
    1. O status do vínculo altera para AWAITING_HOLDER_VALIDATION;
  7. A Detentora de Contas envia os dados de sinais de riscos recebidos para o Brick Bank [8];
  8. O Brick Bank retorna as informações de sinais de riscos para a Iniciadora de Pagamentos [9];
  9. A Iniciadora de Pagamentos informa o usuário e o redireciona para a Detentora de Contas para realizar a autenticação [10];
  10. O usuário faz a autenticação e em seguida, a Detentora de Contas apresenta a tela de informações de vínculo de dispositivo [11];

Autorização do Vínculo

  1. O usuário autoriza o vínculo na Detentora de Contas [12];
    1. O status do vínculo altera para AWAITING_ENROLLMENT;
  2. A Detentora de Contas redireciona o usuário para a Iniciadora de Pagamentos [13];
    1. A Iniciadora de Pagamentos notifica o usuário que o vínculo foi concluído com sucesso;
  3. A Iniciadora de Pagamentos solicita o token de callback para o Brick Bank® através do endpoint POST /api/admin/payment-initiation/v1/enrollments/callback [14];
  4. O Brick Bank solicita o token de callback para a Detentora de Contas [15] que retorna o token gerado para o Brick Bank [16];
  5. O Brick Bank retorna o token de callback para a Iniciadora de Pagamentos [17];
  6. A Iniciadora de Pagamentos faz a busca de criação de chave através do endpoint POST /enrollments/{enrollmentId}/fido-registration-options [18];
  7. O Brick Bank faz a busca de parâmetros de criação de chave para a Detentora de Contas [19];
  8. A Detentora de Conta retorna os parâmetros [20];
  9. O Brick Bank recebe os parâmetros e retorna para a Iniciadora de Pagamentos [21];
  10. A Iniciadora de Pagamentos solicita um gesto para o usuário realizar a autenticação (biometria, FaceID, PIN, etc) [22];
  11. O usuário realiza o gesto de sua preferência [23];
  12. A Iniciadora de Pagamentos cria a credencial [24] e envia os dados da credencial gerada para o Brick Bank através do endpoint POST /enrollments/{enrollmentId}/fido-registration} [25];
  13. O Brick Bank® recebe os dados da credencial e envia para a Detentora de Contas [26];
  14. A Detentora de Contas recebe os dados da credencial, valida e armazena [27];
    1. O status do vínculo altera para AUTHORISED;
  15. A Detentora de Contas retorna para o Brick Bank® o HTTP 204 No Content para sinalizar que a solicitação foi realizada com sucesso [28];
  16. O Brick Bank® retorna para a Iniciadora de Pagamentos o HTTP 204 No Content para sinalizar que a solicitação foi realizada com sucesso [29];
  17. A Iniciadora de Pagamentos sinaliza ao usuário que o vínculo de conta foi realizado com sucesso [30];

Efetivação do Pagamento

  1. O usuário realiza um pagamento sem redirecionamento na Iniciadora de Pagamentos [31];
  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® [32];
  3. O Brick Bank® recebe a requisição e consulta os parâmetros na Detentora de Contas [33] que retorna os parâmetros para o Brick Bank® [34];
  4. O Brick Bank® recebe os parâmetros e retorna para a Iniciadora de Pagamentos [35];
  5. A Iniciadora de Pagamentos solicita o gesto do usuário para aprovar o pagamento [36];
  6. O usuário autentica através dos parâmetros definidos e aprova o pagamento [37];
  7. A Iniciadora de Pagamentos recebe o gesto do usuário e aprova o pagamento para o Brick Bank® através da chamada (POST /consent) [38];
  8. O Brick Bank® recebe a autorização do pagamento e chama o Detentor de Contas através do POST /{consentId}/authorise, que retorna todas as informações de autorização do pagamento [39];
  9. A Detentora de Contas autoriza o pagamento e retorna todas as informações de autorização para o Brick Bank® [40];
  10. O Brick Bank® retorna todas as informações de autorização do pagamento para a Iniciadora de Pagamento [41];
  11. A Iniciadora de Pagamentos apresenta a tela de efetivação do pagamento [42].