Compartilhamento de dados e/ou iniciação de pagamento por WebView
A jornada de transmissão via WebView permite o compartilhamento de dados do cliente ou jornada de pagamento sem que o parceiro precise se integrar via API.
Pré-requisitos
Para que a jornada de transmissão de dados ou iniciação de pagamentos ocorra com sucesso, o Parceiro deve:
- Possuir um deep link (app link) para redirecionar o seu cliente a uma tela de login de seu aplicativo. Essa tela dever ser simples, apresentando apenas botão de login e campo de senha e/ou botão para redirecionar o usuário à loja de Apps;
- Garantir que o deep link (app link) fornecido inicie por "https" e aceite receber requisições com os parâmetros
request_urieclient_idenviados porquery stringe realize o redirecionamento para a web (https://app-sdb.open.bankly.com.br); - Enviar a Bankly, via e-mail para Time de Integração, esse deep link (app link) juntamente com os dados de sua marca, URL da logo (em formato SVG) e uma cor em formato hexadecimal;
- Disponibilizar dentro do seu aplicativo uma tela de login específica para o fluxo de consentimento (sem derivação para criação de conta).
Ao cumprir os pré-requisitos mencionados, o seu cliente irá visualizar a tela do aplicativo do parceiro, na qual poderá fazer o login.
Então, dois processos ocorrerão simultaneamente para o usuário:
- Quando o cliente clicar no botão de login (redirecionado pelo deep link/ app link) e realizar o acesso, o parceiro coletará os dados (
request_urieclient_id) recebidos viaquery stringatravés do deep link (app link) e também o número de documento do usuário (que o próprio sistema do parceiro deverá identificar para permitir o acesso do cliente). Esses dados serão usados para gerar um ticket a ser enviado pelo endpoint Geração do ticket de acesso ao WebView ; - Para que a jornada de compartilhamento seja efetivada no app, após gerar esse ticket, o parceiro deverá enviar o seu valor para chamar o nosso WebView (https://app-sdb.open.bankly.com.br/ );
- Já para que a jornada de compartilhamento e/ou de pagamento seja efetivada no desktop, após gerar esse ticket, o parceiro deverá enviar o seu valor para chamar o nosso WebView adicionando o parâmetro isSiteToSite=true, por exemplo, https://app-sdb.open.bankly.com.br/?ticket=257a7fee-d0f3-4600-991f-34528827f956&isSiteToSite=true ).
- Quando o parceiro oferecer suporte a múltiplas contas por cliente na mesma company key, ou seja, quando um mesmo cliente possuir mais de uma conta na mesma company key, será necessário incluir o parâmetro account_number na mesma URL utilizada para o envio do ticket (seja de gestão ou de aceite), por exemplo, app: https://app-sdb.open.bankly.com.br/?ticket=257a7fee-d0f3-4600-991f-34528827f956&account_number=12345678 e site: https://app-sdb.open.bankly.com.br/?ticket=257a7fee-d0f3-4600-991f-34528827f956&isSiteToSite=true&account_number=12345678 ). Esse parâmetro deve conter o número da conta específica na qual o pagamento será realizado.
Uma vez que o cliente está dentro do Webview, nós gerenciaremos a visualização e os aceites. Ao sair, o cliente é redirecionado para para a instituição na qual ele iniciou a jornada.
Tela de login para o fluxo de consentimento
O parceiro também terá de disponibilizar um menu específico para o Open Finance na tela principal de seu aplicativo.
Fase 2
Esse menu deve conter um botão chamado "Meus compartilhamentos". Ao clicar nesse botão, o usuário poderá fazer o aceite, consultar os consentimentos dados e revogá-los se achar necessário.
O acesso à tela de compartilhamento também é feito via WebView do Bankly. Para redirecionar o cliente para o WebView, o parceiro deverá utilizar o endpoint Gestão de consentimentos, e enviar os parâmetros documentNumber, accountNumber e redirectType.
A requisição retornará o parâmetro ticketId , que dará acesso ao WebView como informado anteriormente.
Fase 3
Para atender a Fase 3 do Open Finance, esse menu deve conter dois botões sendo "Meus pagamentos" e “Minhas autorizações. Na seção “Minhas autorizações” será possível acessar todas as autorizações dadas às Instituições Iniciadoras de Transação de Pagamentos, para determinada finalidade de pagamento, com seus respectivos status e detalhes, além de revogar o pagamento se achar necessário.
Na seção “Meus pagamentos”, será possível acessar o histórico de pagamentos feitos, sejam únicos ou agendados, recorrentes e transferências inteligentes.
O acesso à tela de pagamentos também é feito via WebView da Bankly. Para redirecionar o cliente para a WebView, o parceiro deverá também utilizar o endpoint Gestão de consentimentos, e enviar os os parâmetros documentNumber, accountNumber e redirectType.
A requisição retornará o parâmetro ticketId , que dará acesso ao WebView como informado anteriormente.
Fase 3 – Gestão de notificações
Na área de gestão do Pix Automático, o usuário poderá ativar ou desativar o recebimento de notificações por push. Quando ativadas, o parceiro receberá os eventos via webhook, sendo responsável por exibir a notificação no aplicativo conforme os dados recebidos.
Jornada de transmissão de dados por WebView
- O cliente de nosso parceiro inicia a jornada na instituição com a qual deseja compartilhar os dados (banco A). Essa instituição deve estar apta a atuar como instituição receptora de dados no ecossistema Open Finance;
- O cliente escolhe realizar o compartilhamento de dados via Open Finance e seleciona o banco do parceiro Bankly para fazer esse compartilhamento (banco B);
- Então, a instituição receptora de dados (banco A) envia uma requisição ao Bankly (instituição transmissora de dados), contendo os termos de consentimento com os quais o cliente do parceiro deverá concordar;
- A instituição receptora de dados (banco A) redireciona o cliente do parceiro para a tela de login do aplicativo do parceiro, por meio do deep link (app link) fornecido previamente pelo parceiro;
- Após o login no aplicativo do parceiro, o seu backend realizará uma solicitação para criar um ticket. Ao abrir a WebView enviar o
ticketIdporquery string; - Em seguida, a URL disponibilizada pelo Bankly (https://app-sdb.open.bankly.com.br/) realiza por WebView a abertura de uma tela que possui todos os detalhes dos termos de consentimento (como o nome da instituição receptora de dados, quais são os dados compartilhados, o período de compartilhamento, a conta que originará o compartilhamento de dados etc.);
- Nessa tela, o cliente do parceiro deve dar o consentimento para o compartilhamento de seus dados;
- Consentido o compartilhamento ou não, o cliente do parceiro é redirecionado pelo Bankly para a tela da instituição receptora de dados (banco A). E, de forma assíncrona, o Bankly realiza os procedimentos para o compartilhamento dos dados;
- Em seu ambiente, a instituição receptora de dados (banco A) efetiva a recepção.
ImportanteQuando o evento "EventCloseWebview" for acionado, a aplicação do Parceiro deverá reconhecê-lo e fechar o WebView.
Com isso, é necessário:
- Ouvir o evento EventCloseWebview.
- Extrair da mensagem a propriedade
url.- Verificar se a propriedade
urlpossui um valor válido (não nulo e não vazio).
- Se houver valor:
- Fechar a WebView.
- Redirecionar para a URL informada no parâmetro
url
Exemplos
Veja a seguir exemplos das telas na jornada por WebView:
Redirecionamento para a instituição transmissora de dados
Confirmação dos dados
NotaRecordamos que, após fornecer o consentimento referente ao compartilhamento de seus dados, o cliente de nosso parceiro poderá revogá-lo a qualquer momento.
Updated 8 days ago
