Fluxos de Integração
Entenda como funciona o fluxo de vínculo de contas e suas integrações como ITP ou Detentora de Contas.
Vínculo de Conta e Pagamento
O fluxo abaixo representa a interação de qualquer ITP com uma detentora de contas integrada ao Brick Bank® para realizar o vínculo de dispositivo. Perceba que:
Iniciador de Pagamentos
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
- 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;
- 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; - 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];
- O vínculo é criado com o status AWAITING_RISK_SIGNAL [4];
- O Brick Bank® recebe as informações de vínculo de dispositivo e retorna os dados para a Iniciadora de Pagamentos [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]; - O Brick Bank recebe os parâmetros de sinais de riscos e envia para a Detentora de Contas [7];
- O status do vínculo altera para
AWAITING_HOLDER_VALIDATION
;
- O status do vínculo altera para
- A Detentora de Contas envia os dados de sinais de riscos recebidos para o Brick Bank [8];
- O Brick Bank retorna as informações de sinais de riscos para a Iniciadora de Pagamentos [9];
- A Iniciadora de Pagamentos informa o usuário e o redireciona para a Detentora de Contas para realizar a autenticação [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
- O usuário autoriza o vínculo na Detentora de Contas [12];
- O status do vínculo altera para
AWAITING_ENROLLMENT
;
- O status do vínculo altera para
- A Detentora de Contas redireciona o usuário para a Iniciadora de Pagamentos [13];
- A Iniciadora de Pagamentos notifica o usuário que o vínculo foi concluído com sucesso;
- 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]; - O Brick Bank solicita o token de callback para a Detentora de Contas [15] que retorna o token gerado para o Brick Bank [16];
- O Brick Bank retorna o token de callback para a Iniciadora de Pagamentos [17];
- A Iniciadora de Pagamentos faz a busca de criação de chave através do endpoint
POST /enrollments/{enrollmentId}/fido-registration-options
[18]; - O Brick Bank faz a busca de parâmetros de criação de chave para a Detentora de Contas [19];
- A Detentora de Conta retorna os parâmetros [20];
- O Brick Bank recebe os parâmetros e retorna para a Iniciadora de Pagamentos [21];
- A Iniciadora de Pagamentos solicita um gesto para o usuário realizar a autenticação (biometria, FaceID, PIN, etc) [22];
- O usuário realiza o gesto de sua preferência [23];
- 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]; - O Brick Bank® recebe os dados da credencial e envia para a Detentora de Contas [26];
- A Detentora de Contas recebe os dados da credencial, valida e armazena [27];
- O status do vínculo altera para
AUTHORISED
;
- O status do vínculo altera para
- 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]; - 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]; - A Iniciadora de Pagamentos sinaliza ao usuário que o vínculo de conta foi realizado com sucesso [30];
Efetivação do Pagamento
- O usuário realiza um pagamento sem redirecionamento na Iniciadora de Pagamentos [31];
- 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]; - 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];
- O Brick Bank® recebe os parâmetros e retorna para a Iniciadora de Pagamentos [35];
- A Iniciadora de Pagamentos solicita o gesto do usuário para aprovar o pagamento [36];
- O usuário autentica através dos parâmetros definidos e aprova o pagamento [37];
- 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]; - 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]; - A Detentora de Contas autoriza o pagamento e retorna todas as informações de autorização para o Brick Bank® [40];
- O Brick Bank® retorna todas as informações de autorização do pagamento para a Iniciadora de Pagamento [41];
- A Iniciadora de Pagamentos apresenta a tela de efetivação do pagamento [42].
Detentor de Contas
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 do vínculo de conta pagamento sem redirecionamento por meio do Open Finance:
- toda a comunicação com o ecossistema é feita através da plataforma Brick Bank®, abstraindo toda a camada de segurança e validação de consentimento.
Vínculo de Dispositivo
- O usuário solicita a realização do vínculo de conta através 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 vínculo de conta [3];
- O ITP identifica a Detentora de Contas selecionada anteriormente e realiza uma solicitação de consentimento 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];
- O consentimento é criado com o status
AWAITING_RISK_SIGNALS
;
- O consentimento é criado com o status
- O Brick Bank® retorna para o ITP a URL de redirecionamento para a Detentora de Contas e o ITP informa o usuário e o redireciona para a Detentora de Contas [6];
- A Detentora de Contas apresenta a tela de autenticação para o usuário [7];
- O usuário realiza a autenticação na Detentora de Contas [8];
- A Detentora de Contas captura o CPF/CNPJ do usuário/empresa e criptografa essa informação [9];
- A Detentora de Contas realiza a chamada POST /{interactionId}/login, e envia os dados criptografados do cliente no body da requisição [10];
- 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];
- A Detentora de Contas deve disponibilizar uma API para descriptografar o CPF/CNPJ [12];
- 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;
- 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
- O usuário autoriza o vínculo de conta na Detentora de Contas [15];
- A Detentora de Contas realiza uma chamada na API POST /interactionId/consent para aprovar o vínculo no Brick Bank® [16];
- <confirmar o status do vínculo>
- O Brick Bank® retorna para a Detentora de Contas a URL de redirecionamento para o ITP [17];
- A Detentora de Contas informa o usuário e o redireciona para o ITP [18];
- 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]; - 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];
- A Iniciadora de Pagamentos cria a credencial do usuário [23];
- A Iniciadora de Pagamentos envia os dados da credencial via chamada
(POST {enrollmentId}/fido-registration)
para o Brick Bank® [24]; - E em seguida, o Brick Bank® envia os dados da credencial para o FIDO2 Server [25] realizar a validação [26];
- O FIDO2 Server confirma a validação com o HTTP Status 204 para o Brick Bank® [27];
- O Brick Bank® retorna a confirmação com o HTTP Status 204 para a Iniciadora de Pagamentos [28];
Efetivação do Pagamento
- O usuário realiza um pagamento sem redirecionamento na Iniciadora de Pagamentos [29];
- 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]; - O Brick Bank® consulta os parâmetros no FIDO2 Server [31] que retorna todos os parâmetros para o Brick Bank® [32];
- O Brick Bank® recebe os parâmetros e retorna para a Iniciadora de Pagamentos [33];
- A Iniciadora de Pagamentos solicita o gesto do usuário para aprovar o pagamento [34];
- O usuário autentica através dos parâmetros definidos e aprova o pagamento [35];
- 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]; - 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];
- O Brick Bank® retorna todas as informações de autorização do pagamento para a Iniciadora de Pagamento [39];
- A Iniciadora de Pagamentos apresenta a tela de efetivação do pagamento [40].
Updated 4 months ago