Implementación de 3D Secure (3DS) para la prevención del fraude¶
Descripción general¶
3D Secure (3DS) es un protocolo de autenticación que agrega una capa adicional de seguridad a las transacciones con tarjeta en línea. Como comerciante registrado, 4Geeks Payments maneja la implementación de 3DS, pero comprender cómo funciona y cómo configurarlo es esencial para optimizar las tasas de aprobación y reducir el fraude.
En este tutorial, podrás:
- Entender cómo funciona 3DS
- Configurar los ajustes de 3DS en 4Geeks Payments
- Manejar los flujos de autenticación 3DS en su aplicación
- Optimice 3DS para obtener mejores tasas de conversión
- Monitorear las métricas de rendimiento de 3DS
¿Qué es 3D Seguro?¶
3DS es un protocolo desarrollado por Visa y Mastercard que requiere que los clientes completen un paso de autenticación adicional durante el pago. Los métodos más comunes son:
- SMS OTP: contraseña de un solo uso enviada por mensaje de texto
- Aprobación de la aplicación bancaria: el cliente aprueba en la aplicación de su banco
- Verificación biométrica: reconocimiento de huellas dactilares o rostro
Versiones 3DS¶
| Versión | Descripción | Experiencia de usuario |
|---|---|---|
| 3DS 1.0 | Versión heredada, redirige a la página del banco | Torpe, alto abandono |
| 3DS 2.0 | Versión moderna, autenticación en la aplicación | Suave y optimizado para dispositivos móviles |
| 3DS 2.2 | Última versión, autenticación basada en riesgos | Sin fricciones para transacciones de bajo riesgo |
4Geeks Payments utiliza 3DS 2.2 de forma predeterminada, lo que proporciona el mejor equilibrio entre seguridad y experiencia de usuario.
Paso 1: Configurar los ajustes de 3DS¶
- Inicie sesión en console.4geeks.io
- Vaya a Pagos → Configuración → 3D Secure
- Configura tus preferencias de 3DS:
Modo 3DS¶
| Modo | Descripción | Mejor para |
|---|---|---|
| Automático (Recomendado) | 3DS se activa solo cuando lo exigen las reglas del emisor o del riesgo | La mayoría de las empresas |
| Siempre encendido | Se requiere 3DS para cada transacción | Industrias de alto riesgo |
| Desactivado | Sin autenticación 3DS | Transacciones B2B de bajo riesgo |
Reglas basadas en riesgos¶
Configure cuándo se debe activar 3DS:
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)
Paso 2: Maneje 3DS en su aplicación¶
Uso de enlaces de pago (el más sencillo)¶
Si utiliza los enlaces de pago de 4Geeks, 3DS se maneja automáticamente:
// 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;
Uso de la integración API directa¶
Para flujos de pago 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);
}
Paso 3: Optimice 3DS para la conversión¶
Flujo sin fricción¶
3DS 2.2 admite autenticación sin fricciones: el banco aprueba la transacción sin interacción con el cliente cuando el riesgo es bajo:
Customer enters card details
│
▼
4Geeks sends authentication request to issuer
│
├── Low risk → Frictionless approval (no customer action needed)
│
└── Higher risk → Challenge required (customer completes 3DS)
Consejos de optimización¶
| Estrategia | Impacto |
|---|---|
| Utilice 3DS 2.2 (no 1.0) | +15-20% de tasa de conversión |
| Habilitar flujo sin fricción | Reduce la fricción con el cliente para transacciones de bajo riesgo |
| Establecer umbrales de riesgo adecuados | Equilibrio entre seguridad y conversión |
| Utilice indicadores de exención cuando corresponda | Transacciones de bajo valor (<30€ en la UE) |
| Monitorear tasa de desafío 3DS | Apunte a una tasa de desafío <30% |
Consideraciones regionales¶
| Región | Requisito 3DS | Notas |
|---|---|---|
| Unión Europea | Obligatorio (PSD2/SCA) | Exenciones disponibles para beneficiarios confiables, recurrentes y de bajo valor |
| Estados Unidos | Opcional pero recomendado | Las redes de tarjetas incentivan la 3DS con un cambio de responsabilidad |
| América Latina | Varía según el país | Brasil y México exigen cada vez más 3DS |
| Asia Pacífico | Adopción creciente | India exige 3DS (basado en OTP) |
Paso 4: Monitorear el rendimiento de 3DS¶
Métricas clave¶
| Métrica | Descripción | Objetivo |
|---|---|---|
| Tasa de desafío 3DS | % de transacciones que requieren desafío del cliente | <30% |
| Tasa de éxito de 3DS | % de transacciones impugnadas que se aprueban | >85% |
| Tarifa sin fricciones | % de transacciones aprobadas sin impugnación | >50% |
| Tasa de abandono de 3DS | % de clientes que abandonan durante 3DS | <10% |
| Tasa de fraude | % de transacciones que son fraudulentas | <0,5% |
Informes de acceso¶
- Vaya a Pagos → Análisis → 3D Secure
- Ver paneles en tiempo real para todas las métricas de 3DS
- Filtrar por región, monto y tipo de tarjeta
- Exportar informes para análisis
Mejores prácticas¶
Seguridad¶
- Habilite siempre 3DS para transacciones que superen su umbral de riesgo
- Utilizar cambio de responsabilidad: 3DS transfiere la responsabilidad por fraude del comerciante al emisor
- Monitorear patrones de fraude: ajustar las reglas de riesgo según las tendencias de fraude
- Mantenga 3DS 2.2 actualizado: las nuevas versiones mejoran tanto la seguridad como la UX
Conversión¶
- Usar modo Automático: deja que el sistema decida cuándo se necesita 3DS
- Optimizar el flujo de pago: Minimiza los pasos antes del desafío 3DS
- Optimización móvil: asegúrese de que 3DS funcione sin problemas en dispositivos móviles
- Mensajes claros: informe a los clientes por qué necesitan autenticarse
Cumplimiento¶
- Cumplimiento de PSD2/SCA: Requerido para transacciones en la UE
- Gestión de exenciones: Aplicar exenciones donde esté permitido legalmente
- Registro de auditoría: mantenga registros de todos los intentos de autenticación 3DS
- Retención de datos: siga las regulaciones locales para los datos de autenticación
¿Qué sigue?¶
- Obtenga más información sobre Pago multidivisa
- Explorar Manejo de reembolsos y devoluciones de cargo
¿Necesitas ayuda?¶
- Documentación: docs.4geeks.io/es/pagos
- Referencia de API: docs.4geeks.io/en/api
- Soporte: disponible a través del panel de la consola
Aún con dudas? Pregunta en Discord o explore tutoriales