Segurança 3D
O que é o 3D Secure?
O 3D Secure, ou 3DS, é um protocolo de segurança para pagamentos on-line criado para evitar o uso fraudulento de cartões de crédito em transações com cartão não presente (CNP). O protocolo, desenvolvido em 1999, exige etapas adicionais de verificação para que os clientes durante o processo de compra se autentiquem e reduzam o risco de fraude. O fluxo abaixo apresenta um processo de pagamento usando o 3DS:
Onde:
- O Merchant Plugin Interface (MPI) inicia o processo de verificação facilitando a troca segura de informações entre o comerciante, o servidor de diretório do esquema e o banco emissor do titular do cartão.
- O Scheme Directory Server (DS) atua como um banco de dados centralizado e facilita a identificação do banco emissor do titular do cartão apropriado e o método de autenticação correspondente a ser usado.
- O servidor de controle de acesso do emissor (ACS) é responsável por verificar e validar a identidade do titular do cartão durante uma transação 3DS. O ACS do emissor recebe solicitações de autenticação e realiza avaliações de risco e verificações de autenticação com base nas regras e políticas predefinidas do banco.
O 3D Secure 2, ou 3DS2, publicado em 2016, é uma versão atualizada do protocolo 3DS original e usa métodos de autenticação dinâmicos, como biometria e autenticação token, enquanto o protocolo 3DS original depende de senhas estáticas. O 3DS2 tem como objetivo proporcionar uma melhor experiência ao usuário com um fluxo mais fluido para os usuários finais durante a autenticação. A EMVCo, uma organização de propriedade das principais bandeiras de cartões, desenvolveu e gerenciou os dois protocolos. Todas as principais marcas de cartões deixaram de oferecer suporte à primeira versão do 3DS em outubro de 2022. Portanto, a integração da etapa de verificação do 3DS2 é essencial para garantir a experiência e a segurança de seus clientes. A Yuno já oferece uma integração fácil do 3DS2 para sua empresa.
Benefícios do 3D Secure 2
Conforme mencionado, o 3DS2 foi desenvolvido para aprimorar a experiência do usuário e adaptar o protocolo 3DS ao cenário moderno de pagamentos.
Preparado para novas tecnologias
O 3DS2 foi projetado tendo em mente o crescimento dos smartphones e permitiu que os bancos oferecessem experiências inovadoras de autenticação por meio de seus aplicativos bancários móveis, como a autenticação biométrica usando impressões digitais ou reconhecimento facial. Portanto, os comerciantes podem oferecer vários métodos de autenticação que se alinham às preferências do consumidor e aos avanços tecnológicos, resultando em um processo de autenticação mais conveniente e seguro.
Recursos de integração
Em relação à integração, o 3DS2 inclui um componente SDK que permite a integração nativa em aplicativos móveis. Como resultado, os comerciantes podem autenticar transações em seus próprios aplicativos. Agora, o fluxo de contestação acontece diretamente dentro dos fluxos de checkout móvel, eliminando a necessidade de redirecionamentos de página inteira e proporcionando uma experiência de usuário mais perfeita.
Quantidade de dados disponíveis para autenticação
O 3DS2 permite que as empresas troquem dez vezes mais dados sobre cada transação com o banco do titular do cartão. Isso inclui dados específicos do pagamento, como o endereço de entrega, e dados contextuais, como a ID do dispositivo do cliente ou o histórico de transações anteriores. Isso permite que o banco avalie o nível de risco da transação e, possivelmente, autentique o pagamento sem informações adicionais do titular do cartão. Portanto, um pagamento que usa protocolos 3DS2 pode enfrentar um fluxo sem atrito ou um fluxo de desafio para concluir o pagamento.
Fluxo sem atrito
Em um fluxo sem atrito, os dados do cliente são confirmados sem nenhuma entrada manual de dados. Isso acontece quando o sistema reconhece e verifica o dispositivo do cliente, e os dados são trocados em segundo plano. Como o cliente é identificado e validado com essas informações, não são necessárias solicitações adicionais dos sistemas de pagamento.
Fluxo de desafios
O fluxo de desafios ocorre quando as informações armazenadas não são suficientes para validar o cliente. Como a identidade do cliente não é confirmada, o sistema exige uma etapa adicional para validar o cliente, usando uma senha de uso único ou verificação biométrica. Dependendo do sistema de validação, o cliente pode ser redirecionado para uma página do emissor do cartão para inserir as informações necessárias.
O uso do 3DS2 resulta em uma experiência de usuário mais suave e sem atritos. Os fluxos de dados aprimorados e os recursos de tomada de decisão possibilitados pelo 3DS2 reduzem a taxa de abandono de carrinho e melhoram as taxas de conversão.
Pagamento com 3D Secure 2
A adição da etapa de verificação do 3DS2 ao processo de checkout altera o fluxo de trabalho normal. Abaixo está um fluxograma do checkout completo e uma descrição de cada etapa para ajudá-lo a entender melhor o processo.
- O cliente fornece os dados de seu cartão para iniciar o processo de checkout do comerciante.
- O sistema do comerciante verifica se é compatível com o 3DS2.
- Se o comerciante não for compatível com o 3DS2, o processo de checkout continuará com o fluxo de trabalho normal de pagamento sem usar a verificação do 3DS2.
- Se o comerciante suportar o 3DS2, a Yuno envia as informações da transação para o provedor de serviços 3DS do emissor para avaliar o risco da transação. Esses dados incluem informações sobre o titular do cartão e o dispositivo de acordo com as restrições da legislação regional ou de mercado, como ID do dispositivo, endereço MAC, localização geográfica, transações anteriores e muito mais.
- O provedor de serviços 3DS do emissor determina se a transação é de alto risco e se é necessário um desafio para verificação adicional.
- O pagamento segue para a etapa de autorização se não houver necessidade de contestação (fluxo sem atrito).
- Se for necessário um desafio (fluxo de desafio), ele será apresentado ao titular do cartão para verificar sua identidade. Essa verificação pode usar biometria e/ou autenticação de dois fatores, como uma senha de uso único ou uma fingerprint.
- O sistema verifica se o titular do cartão concluiu o desafio com êxito.
- O pagamento prossegue para a etapa de autorização se o titular do cartão verificar sua identidade com êxito.
- Se o titular do cartão não conseguir verificar sua identidade, o pagamento será cancelado.
- O comerciante verifica com o emissor do cartão se a transação está autorizada.
- Se a transação for autorizada, o pagamento será processado com êxito.
- Se a transação não for autorizada, o pagamento será cancelado ou recusado.
Configuração do 3D Secure para seus pagamentos
Aprimoramento do SDK v1.1Com o SDK v1.1, a lógica 3DS é tratada automaticamente usando o
continuePayment()não é necessária nenhuma configuração 3DS separada. Para obter mais informações, consulte a seção Documentação do Yuno Web SDK.
Você decide se o seu sistema implementará o 3DS2 ou não. A etapa de verificação do 3DS2 é adicionada durante a definição do roteamento dinâmico de seus cartões. Ao iniciar as rotas dos cartões, você pode adicionar a etapa 3DS2 antes de definir o provedor de pagamento. Ao adicionar a etapa de verificação do 3DS2, quando um pagamento usando um cartão for inicializado, o sistema Yuno analisará se o cartão precisa de um desafio extra. Se for necessário um desafio extra, o usuário será redirecionado para o ambiente do banco para concluir a autorização. Por outro lado, o processo de pagamento continuará normalmente.
Para criar pagamentos com o fluxo de trabalho do 3DS DIRECT, você precisa atender a alguns requisitos.
Requisitos
Antes de usar o 3DS DIRECT, você precisa habilitar o 3DS no seu Yuno Dashboard e especificar os cenários em que deseja que seus clientes possam usá-lo. Isso pode ser configurado no Yuno Dashboard em: Roteamento > Rotas de cartão > Etapa 3DS. Esses cenários devem ser indicados em sua rota CARD. Além disso, você precisará dos seguintes dados de configuração do 3DS na conexão do provedor de pagamento:
- BIN do adquirente: esse é o número de identificação bancária (BIN) usado para compensar e liquidar a transação, juntamente com o país no qual ele está licenciado para uso.
- ID do comerciante: Esse é o número de afiliação fornecido pelo adquirente.
- Código de categoria do comerciante (MCC): O adquirente fornecerá um código específico que representa sua categoria de comerciante.
- Nome do comerciante: Refere-se ao nome oficial ou nome comercial da empresa ou entidade que está realizando a transação comercial.
- URL do comerciante: O site ou a plataforma on-line do comerciante.
- Código do país: O país onde o pagamento precisa ser processado, seguindo os códigos de país padrão ISO 3166-1.
Uso de um MPI externo para autenticaçãoSe estiver usando uma MPI externa para realizar a autenticação, os seguintes parâmetros são necessários para uma conexão bem-sucedida com o provedor:
- Adquirente BIN
- Código do país do adquirente
- ID do comerciante
- MCC
Integração do Yuno 3D Secure 2
Há diferentes maneiras de integrar o 3DS no Yuno, dependendo de suas necessidades.
Em termos gerais, uma integração 3DS requer um setup_id/device_fingerprint para a sessão de pagamento como a primeira etapa da análise de segurança, e essa identificação só pode ser obtida com a execução de um SDK/JS desenvolvido por um provedor autorizado 3DS. Ao usar nossos SDKs Nós cuidamos de toda a lógica para vocêAssim, você não precisa se preocupar com as diferentes necessidades dos provedores.
Portanto, dependendo da sua integração com o Yuno, você tem três opções diferentes:
- Integração do Checkout: O fluxo de trabalho do Checkout faz parte da solução de Checkout fornecida pela Yuno. Use nossos SDKs para que possamos lidar com toda a lógica relacionada aos requisitos e execuções de provedores externos para o 3DS. Se quiser definir casos específicos para análise do 3DS, você pode definir isso na rota CARD do seu painel do Yuno.
- Integração externa: Use seu próprio 3DS e, em seguida, envie os campos de autorização correspondentes na criação do pagamento (card_data - eci, criptograma etc.). Disponível somente para comerciantes em conformidade com o PCI.
- Integração direta: O fluxo de trabalho Direct está disponível apenas para comerciantes em conformidade com a PCI. Ele oferece uma maneira direta de criar um pagamento e validar as informações do usuário, exigindo que o comerciante faça apenas uma solicitação para criar o pagamento. Para implementar com êxito a integração Direct, siga as etapas descritas na seção diretriz de integração e forneça as informações necessárias conforme as instruções. Para cada pagamento, você terá um:
PENDING/WAITING_ADDITIONAL_STEPstatus/sub status.sdk_action_requireddefinido comotrue.redirect_urldefinido empayment.payment_method.payment_method_detail.card.
Você é responsável por redirecionar seus clientes para a URL fornecida pelo redirect_url para que possamos coletar informações sobre o dispositivo e apresentar o desafio ao cliente, se necessário. Quando o cliente concluir com êxito o desafio 3DS, ele será automaticamente redirecionado para a página callback_urlque você forneceu ao criar o pagamento com o endpoint Create Payment.
Para cada cenário, os webhooks da Yuno o notificarão prontamente sobre o resultado do desafio 3DS e o status final do pagamento. Isso garante que você receba atualizações em tempo real sobre o progresso e a conclusão da transação de pagamento. Além disso, você sempre pode obter as informações de pagamento usando nosso serviço get payment.
Depois de executar o 3DS para cada cenário, você receberá todas as informações necessárias na resposta do pagamento dentro do payment_method.detail.card.card_data.three_d_secure objeto:
| Campo | Descrição | Exemplo |
|---|---|---|
| versão | Refere-se à versão do protocolo da especificação EMV 3-D Secure utilizada. 1.0, 2.0, 2.1.0, 2.2.0, 2.2.1. | 2.2.1 |
| indicador_de_comércio_eletrônico | Esse campo deve ser preenchido com o resultado do campo ECI fornecido pelo serviço 3d Secure. O Indicador de Comércio Eletrônico (ECI) informa ao emissor do cartão se a transação foi protegida por um protocolo de segurança como VbV ou MCSC. É exigido pela Visa e pela MasterCard que todas as transações 3-D Secure tenham esse valor preenchido na solicitação de autorização (MAX: 2, MIN: 0). | 04 |
| criptograma | Esse campo deve ser preenchido com o resultado do campo de criptografia fornecido pelo serviço 3DSecure. Nas transações Visa, ele representa o CAVV (Cardholder Authentication Verification Value, valor de verificação de autenticação do titular do cartão), um valor criptográfico gerado pelo emissor como evidência da autenticação do pagamento durante a compra on-line para se qualificar para a proteção contra estorno. As transações da MasterCard têm um valor semelhante chamado Accountholder Authentication Value (AAV) ou Universal Cardholder Authentication Field (UCAF). Ao enviar uma transação para autorização, o comerciante deve incluir o CAVV ou AAV/UCAF para demonstrar que o titular do cartão foi autenticado. Normalmente, ele é codificado em base64 (MAX: 40, MIN: 0). | BA0BB1Z3N5Q4kjkBU3c3ELGUsJY = |
| transaction_id | Para 3DS v1: Esse é o Identificador Único de Transação. Ele é gerado automaticamente pelo MPI. Normalmente, tem 28 bytes de comprimento e é codificado em base64. É comumente chamado de XID (MAX: 40, MIN: 0). Para 3DS v2: Identificador de transação universalmente exclusivo atribuído pelo DS para identificar uma única transação. (MÁX.: 36, MÍN.: 36). | Ex para V1: "TjY0MjAxRjA4MD4987DUzMzYyNjU=" Ex para V2: “c4e59ceb-a382-4d6a-bc87-385d591fa09d” |
| directory_server_transaction_id | ID da transação gerada pelo servidor de diretório da Mastercard durante a autenticação (MAX 255; MIN 3). | f38e6948-5388-41a6-bca4-b49723c19437 |
| pares_status | Indica o resultado da autenticação do titular do cartão durante o processo do 3-D Secure. Ele informa se a autenticação foi bem-sucedida (Y), falhou (N), não pôde ser concluída (U) ou foi apenas tentada (A). | Y |
| acs_id | Identificador exclusivo fornecido pelo servidor de controle de acesso (ACS) durante o processo de autenticação do 3-D Secure. | ACS-1234567890 |
[...]
"payment_method": {
"vaulted_token": "",
"type": "CARD",
"vault_on_success": false,
"token": "",
"detail": {
"card": {
"verify": false,
"capture": false,
"installments": 1,
"installments_plan_id": null,
"first_installment_deferral": 0,
"installments_type": "",
"installment_amount": null,
"soft_descriptor": "",
"authorization_code": "",
"retrieval_reference_number": "",
"voucher": null,
"card_data": {
"holder_name": "John Doe",
"iin": "40000000",
"lfd": "1026",
"number_length": 16,
"security_code_length": 3,
"brand": "VISA",
"issuer_name": "",
"issuer_code": null,
"category": "STANDARD",
"type": "CREDIT",
"three_d_secure": {
"version": "2.1.0",
"electronic_commerce_indicator": null,
"cryptogram": null,
"transaction_id": null,
"directory_server_transaction_id": null,
"pares_status": null,
"acs_id": "z1A6ZTh7NopIhdb2R420"
}
}
[...]Status das transações
Uma transação 3DS funciona de forma semelhante a uma transação de compra normal. Ela passa por diferentes estados que representam o processo de autorização. Quando a transação 3DS é marcada como SUCCEEDED, a Yuno prossegue para o processador e gera uma transação de COMPRA para cobrar o cliente. A tabela a seguir descreve todos os estados possíveis e suas descrições.
| Status | Descrição |
|---|---|
| CREATED | O pagamento foi criado e está aguardando o ID da sessão do SDK da Yuno. |
| PENDING | O desafio é necessário, e o redirect_url é devolvido por Yuno. |
| IN_PROCESS | O usuário está concluindo o desafio. |
| SUCCEEDED | O desafio foi concluído corretamente. |
| DECLINED | O desafio foi concluído, mas recusado pelo banco. |
| ERROR | Ocorreu um erro ao redirecionar para o desafio do usuário. |
Como mencionado anteriormente, se o pagamento estiver PENDING, a transação 3DS estará PENDING quando for necessário um desafio. Depois que o desafio for concluído, com sucesso ou não, o pagamento e a transação serão atualizados para os estados correspondentesSUCCEEDED ou DECLINED).
Uso do 3DS para cenários específicos
Ao configurar a rota CARD no painel do Yuno, você pode especificar para quais situações o 3DS deve ser executado usando as condições disponíveis. Como mencionado anteriormente, algumas etapas preliminares serão necessárias para executar o 3DS, dependendo do método de integração usado.
Atualizado há 3 meses