ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações

Ir para o final dos metadados
Ir para o início dos metadados

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 3 Próxima »

Requisitos e Recomendações para implementação do fluxo CIBA 

  • O tempo de aceite / ação do Usuário Pagador sobre o pedido de Autorização recebido via CIBA deverá se manter o mesmo definido para o fluxo via Hybrid Flow, de 5 minutos.

  • Recomenda-se que os Participantes Detentores de Conta desenvolvam o fluxo com a possibilidade de tipificar/identificar unicamente transações realizadas via CIBA ou Hybrid Flow, permitindo o monitoramento e reporte dessas transações.


Fluxo - Iniciação de Pagamento usando um Token de Identificação (id_token) na Iniciadora

O fluxo apresentado a seguir é de um caso de uso prioritário para pagamentos consecutivos com a conta cadastrada na iniciadora que foi priorizado.

Neste fluxo, assume-se que o Participante Iniciador de Pagamentos já possui um id_token que identifica o usuário (id_token conforme definido em https://openid.net/specs/openid-connect-core-1_0.html#IDToken ). O id_token pode ser obtido através de uma Iniciação de Pagamento prévia, se houver sido retornado na resposta da chamada ao recurso /token, onde se obtém também os access_token e refresh_token para o pagamento.

Para facilitar a implementação deste fluxo, esta especificação RECOMENDA que os Participantes Detentores incluam um passo na jornada de Confirmação de Pagamento para solicitar ao Usuário Pagador a geração de um id_token que será compartilhado com o Iniciador. Este passo poderá exibir ao usuário uma experiência que remeta ao conceito de “salvar conta para transações futuras”.

O id_token deve ser utilizado na chamada de autorização através do parâmetro “id_token_hint” (conforme https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html#rfc.section.7.1 )

Recomenda-se que o Participante Iniciador de Pagamentos exponha em sua interface uma identificação mascarada da conta utilizada na primeira transação, ao obter o id_token referente a essa conta. A identificação da conta pode ser obtida consultando o endpoint de Consentimento de Pagamentos (GET /payments/v2/consents/{consentId}, dado /data/debtorAccount/number).

Descrição do Diagrama de Sequência - Detalhamento do fluxo de Primeiro Pagamento com CIBA

Fluxo de BIND

Debtor (Usuário) inicia o processo de pagamento na iniciadora.

Na iniciadora, o debtor seleciona a detentora e os dados de pagamentos.
A iniciadora solicita ao usuário que informe o código de autorização de pagamento (padrão a definir) obtido na detentora.
O usuario deve ir até a detentora, realizar sua autenticação e fazer o fluxo de BIND do dispositivo, registrando um vinculo entre o dispositivo e a detentora de conta. Depois do BIND realizado com sucesso, a detentora emite um código e mostra na tela para o usuário.

O usuário volta para o ambiente da iniciadora e insere o código gerado. Nesse momento acontece o fluxo de autenticação MTLS, gerando o access_token e o atributo de consentimento.

*é importante ressaltar que o fluxo mencionado acima é premissa para que os próximos casos de uso sejam possíveis, pois por meio desse BIND é que registramos o dispositivo e salvamos o registro do usuário na Iniciadora. Ele só deve ser repetido em casos que o usuário mude de dispositivo ou detentora de conta.

Fluxo de Pagamentos com ID Token cadastrado na Iniciadora

Debtor (Usuário) inicia o processo de pagamento na iniciadora.

A iniciadora solicita ao usuário que informe o código de autorização de pagamento (padrão a definir) obtido na detentora.

O usuário volta para o ambiente da iniciadora e insere o código gerado. Nesse momento acontece o fluxo de autenticação MTLS, gerando o access_token e o atributo de consentimento.
Na requisicao de POST /bc-authorize/, adicionamos um campo que é o login_hint, com o OTP da detentora:
Exemplo:

Requisição

POST /bc-authorize
Content-Type: application/x-www-form-urlencoded

scope=payment consent:[id_consent]&binding_message=<código_vinculo>
&client_notification_token=[8d67dc78-7faa-4d41-aabd-67707b374255]&login_hint=[OTP]

Reposta esperada

HTTP/1.1 200 OK
Content-type: application/json

{
"auth_req_id": "1231243123123423",
"expires_in": "360",
"interval":"2"
}

Com o Ok da requisição, a iniciadora deve solicitar ao usuario uma aprovação desse vinculo.
Após, iniciamos o processo do pagamento da transação, com o fluxo padrão de Payments (mencionado na documentação de Pagamentos).

  • Sem rótulos