Implementando 3D Secure (3DS) para prevenção de fraudes¶
Visão geral¶
3D Secure (3DS) é um protocolo de autenticação que adiciona uma camada extra de segurança às transações on-line com cartão. Como Merchant of Record, a 4Geeks Payments cuida da implementação do 3DS, mas entender como ele funciona e como configurá-lo é essencial para otimizar as taxas de aprovação e reduzir fraudes.
Neste tutorial, você irá:
- Entenda como funciona o 3DS
- Definir configurações 3DS em 4Geeks Payments
- Lide com fluxos de autenticação 3DS em seu aplicativo
- Otimize o 3DS para obter melhores taxas de conversão
- Monitore métricas de desempenho 3DS
O que é 3D seguro?¶
3DS é um protocolo desenvolvido pela Visa e Mastercard que exige que os clientes concluam uma etapa adicional de autenticação durante a finalização da compra. Os métodos mais comuns são:
- SMS OTP: senha de uso único enviada por texto
- Aprovação do aplicativo bancário: o cliente aprova no aplicativo do banco
- Verificação biométrica: impressão digital ou reconhecimento facial
Versões 3DS¶
| Versão | Descrição | Experiência do usuário |
|---|---|---|
| 3DS 1.0 | Versão legada, redireciona para página do banco | Abandono desajeitado e alto |
| 3DS 2.0 | Versão moderna, autenticação no aplicativo | Suave e otimizado para dispositivos móveis |
| 3DS2.2 | Versão mais recente, autenticação baseada em risco | Sem atrito para transações de baixo risco |
4Geeks Payments usa 3DS 2.2 por padrão, proporcionando o melhor equilíbrio entre segurança e experiência do usuário.
Etapa 1: Definir configurações 3DS¶
- Faça login em console.4geeks.io
- Navegue até Pagamentos → Configurações → 3D Secure
- Configure suas preferências 3DS:
Modo 3DS¶
| Modo | Descrição | Melhor para |
|---|---|---|
| Automático (recomendado) | 3DS acionado apenas quando exigido pelas regras do emissor ou de risco | A maioria das empresas |
| Sempre ligado | 3DS necessário para todas as transações | Indústrias de alto risco |
| Desligado | Sem autenticação 3DS | Transações B2B de baixo risco |
Regras Baseadas em Risco¶
Configure quando o 3DS deve ser acionado:
Trigger 3DS when:
├── Transaction amount > $500
├── Customer's first purchase
├── High-risk country
├── Unusual spending pattern detected
├── Card issuer requires it (mandated)
└── Velocity threshold exceeded (>5 transactions/hour)
Etapa 2: Lidar com 3DS em seu aplicativo¶
Usando links de pagamento (mais simples)¶
Se você usar links de pagamento 4Geeks, o 3DS será tratado automaticamente:
// Generate payment link with 3DS enabled
const response = await axios.post('https://api.4geeks.io/v1/payment-links', {
amount: 9900,
currency: 'USD',
description: 'Premium Subscription',
customer_email: 'customer@example.com',
three_d_secure: 'automatic', // or 'required', 'off'
success_url: 'https://yoursite.com/success',
cancel_url: 'https://yoursite.com/cancel'
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
// Redirect customer to the payment link
// 3DS challenge will be handled automatically
window.location.href = response.data.url;
Usando integração direta de API¶
Para fluxos de checkout personalizados:
// Step 1: Create a charge with 3DS
const charge = await axios.post('https://api.4geeks.io/v1/charges', {
amount: 9900,
currency: 'USD',
payment_method_id: 'pm_xxx',
three_d_secure: {
enabled: true,
version: '2.2',
challenge_indicator: 'no_preference' // or 'no_challenge_requested', 'challenge_requested'
},
return_url: 'https://yoursite.com/3ds-callback'
}, {
headers: { 'Authorization': `Bearer ${SECRET_KEY}` }
});
// Step 2: Check if 3DS is required
if (charge.data.status === 'requires_action') {
// Step 3: Redirect customer to 3DS challenge
const nextAction = charge.data.next_action;
if (nextAction.type === 'redirect_to_url') {
window.location.href = nextAction.redirect_to_url.url;
} else if (nextAction.type === 'use_stripe_sdk') {
// Handle in-app 3DS challenge (for mobile apps)
handle3DSChallenge(nextAction.use_stripe_sdk);
}
}
// Step 4: Handle the callback
// After 3DS completion, customer is redirected to return_url
// Verify the charge status
const chargeStatus = await axios.get(
`https://api.4geeks.io/v1/charges/${charge.data.id}`,
{ headers: { 'Authorization': `Bearer ${SECRET_KEY}` } }
);
if (chargeStatus.data.status === 'succeeded') {
// Payment successful
showSuccessPage();
} else if (chargeStatus.data.status === 'failed') {
// Payment failed (customer failed 3DS or declined)
showFailurePage(chargeStatus.data.failure_message);
}
Etapa 3: Otimize o 3DS para conversão¶
Fluxo sem atrito¶
O 3DS 2.2 suporta autenticação sem atrito — o banco aprova a transação sem interação do cliente quando o risco é baixo:
CODE_BLOCO_3
Dicas de otimização¶
| Estratégia | Impacto |
|---|---|
| Use 3DS 2.2 (não 1.0) | Taxa de conversão de +15-20% |
| Ativar fluxo sem atrito | Reduz o atrito do cliente para transações de baixo risco |
| Definir limiares de risco apropriados | Equilibre segurança versus conversão |
| Use sinalizadores de isenção quando aplicável | Transações de baixo valor (<€30 na UE) |
| Monitore Taxa de desafio 3DS | Apontar para uma taxa de desafio <30% |
Considerações Regionais¶
| Região | Requisito 3DS | Notas |
|---|---|---|
| União Europeia | Obrigatório (PSD2/SCA) | Isenções disponíveis para beneficiários de baixo valor, recorrentes e confiáveis |
| Estados Unidos | Opcional, mas recomendado | Redes de cartões incentivam 3DS com mudança de responsabilidade |
| América Latina | Varia de acordo com o país | Brasil e México exigem cada vez mais o 3DS |
| Ásia-Pacífico | Adoção crescente | Índia exige 3DS (baseado em OTP) |
Etapa 4: Monitore o desempenho do 3DS¶
Principais métricas¶
| Métrica | Descrição | Alvo |
|---|---|---|
| Taxa de desafio 3DS | % de transações que exigem desafio do cliente | <30% |
| Taxa de sucesso do 3DS | % de transações contestadas aprovadas | >85% |
| Taxa sem atrito | % de operações aprovadas sem contestação | >50% |
| Taxa de abandono do 3DS | % de clientes que abandonam durante o 3DS | <10% |
| Taxa de fraude | % de transações fraudulentas | <0,5% |
Acesse relatórios¶
- Vá para Pagamentos → Análises → 3D Secure
- Visualize painéis em tempo real para todas as métricas 3DS
- Filtre por região, valor e tipo de cartão
- Exporte relatórios para análise
Melhores práticas¶
Segurança¶
- Sempre ative o 3DS para transações acima do seu limite de risco
- Usar mudança de responsabilidade: 3DS transfere a responsabilidade por fraude do comerciante para o emissor
- Monitore padrões de fraude: ajuste as regras de risco com base nas tendências de fraude
- Mantenha o 3DS 2.2 atualizado: novas versões melhoram a segurança e a experiência do usuário
Conversão¶
- Use o modo Automático: deixe o sistema decidir quando o 3DS é necessário
- Otimize o fluxo de checkout: minimize as etapas antes do desafio 3DS
- Otimização móvel: garanta que o 3DS funcione perfeitamente em dispositivos móveis
- Mensagens claras: diga aos clientes por que eles precisam se autenticar
Conformidade¶
- Conformidade com PSD2/SCA: obrigatório para transações na UE
- Gerenciamento de isenções: aplique isenções onde legalmente permitido
- Registro de auditoria: mantenha registros de todas as tentativas de autenticação 3DS
- Retenção de dados: siga os regulamentos locais para dados de autenticação
O que vem a seguir?¶
- Saiba mais sobre Checkout multimoedas
- Explore Como lidar com reembolsos e estornos
Precisa de ajuda?¶
- Documentação: docs.4geeks.io/en/payments
- Referência da API: docs.4geeks.io/en/api
- Suporte: disponível no painel do console
Ainda tem dúvidas? Pergunte na Discord or explore tutoriais