Validación AVS/CVV y señales de frenado
1) Por qué AVS/CVV en iGaming
AVS (Address Verification Service) y CVV/CVC son controles básicos de card-not-presente que:- reducir el riesgo de frod/charjback por «No Auth «/« Fraud »,
- aumentar la confianza del emisor en las CIT primarias,
- ayudan a eliminar bots/drops hasta 3DS challenge,
- proporciona datos para el routing y la puntuación basados en políticas.
Importante: AVS/CVV no reemplazan la 3DS2/SCA y la tokenización, pero funcionan bien juntos.
2) Cómo funciona (en términos generales)
AVS: comparación de la dirección de facturación del cliente (calle, índice, a veces ciudad/estado) con la dirección del emisor. Se devuelve el código (match/partial/no match/unsupported).
CVV: verificación del código en la tarjeta; devuelve match/no match/not processed/issuer not certified.
Ambos resultados vienen en una respuesta de autorización de PSP/ecuador (o en campos web separados) y deben ser lógicos sin PAN, para asociarse con 'payment _ id'.
3) Códigos AVS (lógica de toma de decisiones consolidada)
Los códigos varían entre esquemas y PSP, pero la normalización práctica es la siguiente:- Coincidencia total: 'Y' (calle + índice) → una fuerte señal positiva.
- Coincidencia parcial: 'A' (calle ok, índice no), 'Z' (índice ok, calle no), 'W/X' (ZIP de 9/5 dígitos), 'D/M' (coincidencias internacionales) → moderadamente positiva.
- No hay coincidencia: 'N' → una señal negativa; posible fallo o comprobación reforzada/3DS.
- No disponible/no aplicable: 'U' (issuer unavailable), 'R' (retry), 'S' (AVS not supported), 'G' (international not supported) → neutro/débil, la solución depende del contexto.
- Mercados/tarjetas de alto riesgo: requiere ≥ coincidencia parcial o 3DS-challenge predeterminada.
- Clientes de bajo riesgo con historial: suavizar a la tolerancia «match parcial» sin challenge.
- Para suscripciones (MIT): AVS es útil en CIT inicial; a continuación, confíe en los artefactos/tokens 3DS y la historia.
4) Códigos CVV/CVC (normalización)
Match: 'M' es un factor positivo fuerte (especialmente para el registro primario del mapa).
No Match: 'N' es un fuerte negativo; se recomienda la renuncia o el 3DS-challenge obligatorio.
Not processed/Not present: 'P '/' S' es débil, ver contexto (a veces el emisor no admite o el campo se pierde).
Issuer not certified/Unavailable: 'U' es neutral/laxonegativo.
- Para un CIT con 'CVV = N', es común rechazar (o enviar a 3DS-challenge y validación).
- No se solicita CVV para MIT (repeticiones); confíe en la comunicación con el CIT inicial.
5) Ligamento AVS/CVV ↔ 3DS/SCA y tokens de red
3DS2 con un resultado exitoso (ECI/CAVV) proporciona un margen de flexibilidad (dentro de las reglas), lo que reduce la importancia de AVS/CVV como una barrera «obligatoria», pero:- AVS/CVV reducen el riesgo de challenge y aumentan la probabilidad de frictionless.
- En 'AVS = N' y/o' CVV = N', es razonable iniciar 3DS por la fuerza.
- Los tokens de red (VTS/MDES/NSPK) y VAU/ABU aumentan AR y LTV; junto con AVS/CVV proporcionan una mejor imagen del riesgo en la CIT inicial.
6) Señales de frío: qué recoger y cómo utilizar
Señales técnicas/contextuales:- Device fingerprint (canvas/webgl/audio, шрифты, timezone, lang).
- Velocity: intentos de pago por ventana (por tarjeta/cuenta/dispositivo/IP/BIN).
- Coherencia geo: país IP vs país BIN vs facturación vs idioma/moneda.
- Patrones de comportamiento: velocidad de entrada, enfoque de campo, copipast, errores CVV.
- Historial de la cuenta: edad, sesiones de juego AHT, estado KYC, devoluciones.
- Atributos de pago: MCC 7995, tipo de tarjeta (prepaid/debit/credit), riesgo emisor.
- Metadatos 3DS: completion method, dsTransID, frecuencia de desafío en el emisor.
- Construye un score de riesgo compuesto (0-100) con pesos: CVV, AVS, device, geo, velocity, historia de 3DS.
- 'score ≤ T1' → frictionless (si está disponible);
- `T1 < score ≤ T2` → challenge (3DS);
- 'score> T2' → decline o manual chequeo/alternativa.
7) Matriz de soluciones (ejemplo para el orquestador)
8) Retraídas y patrones UX
Error CVV (N): muestre un mensaje claro «Compruebe el código en la tarjeta», limpie sólo el campo CVV, no obligue a volver a escribir todo.
AVS-incoherencia: sugerir comprobar índice/calle, dar pistas de formato (ZIP-5/ZIP-9).
Soft-decline/SCA: repetición automática con 3DS, sin volver a introducir la tarjeta.
Velocity-block: corto «cool-down» con temporizador y consejos para usar otro método.
Alternativas: A2A (transferencias bancarias), monederos locales por mercado.
9) Datos y esquemas de almacenamiento (mínimo de campos)
Almacene sólo metadatos seguros, sin PAN/CVV:- `payment_id`, `psp_txn_id`, `token_id`, `bin`, `last4`, `scheme`, `issuer_country`
- `avs_result_normalized` ∈ {Y, PARTIAL, N, NA}
- `cvv_result_normalized` ∈ {M, N, NA}
- `risk_score`, `velocity_bucket`, `device_id`, `ip_country`, `bill_country`
- `threeDS`:{`version`, `eci`, `cavv`?, `method_done`:bool, `challenge`:bool}
- `decision` ∈ {approve, challenge, decline}, `reason`
- `route` (PSP_A/B), `was_retry`:bool, timestamps
10) Métricas y observabilidad (KPI/SLO)
Calidad y conversión
Approval Rate por clústeres 'AVS/CVV' (por ejemplo, 'CVV = M&AVS = Y' vs 'CVV = M&AVS = parcial').
Frictionless% y Challenge success% en diferentes clases AVS.
Abandon rate en las pantallas de entrada CVV/dirección.
Chargeback rate (fraud/consumer dispute) en el corte AVS/CVV de las combinaciones.
Proporción de false positiva: renuncias en la legitimidad posterior (por apelaciones/repeticiones).
Soft-decline → una repetición exitosa (después de 3DS).
Latency AVS/CVV de verificación (p95) y fracción «U/S/G» (no disponible).
Spikes por 'CVV = N',' AVS = N' (alertas) en el corte BIN/emisor/PSP.
11) Anti-patrones
Interpretar 'AVS = U/S/G' como un fallo duro en un BIN internacional es una pérdida de conversión.
Requerir AVS en países/bancos donde no es compatible sistémicamente.
La lógica de direcciones crudas sin enmascarar y sin objetivos es el riesgo de fugas/PII.
Rechazar Hard 'CVV = N' sin analizar la tasa de error de entrada (es posible un mis-type honesto).
Ignore los artefactos 3DS y el historial del cliente cuando haya coincidencias parciales de AVS.
12) Lista de verificación de implementación
- Diccionario normalizado de códigos AVS/CVV por esquemas/PSP.
- Políticas de toma de decisiones (approve/challenge/decline) por combinación.
- Integración con 3DS2: corte automático en desafío con AVS/CVV negativos.
- Puntuación de riesgo: device, geo, velocity, historial del cliente, políticas BIN.
- Patrones de error UX (localización, guardar los campos introducidos).
- Dashboards KPI y alertas en ráfagas 'N'/' U/S/G'.
- PAN-safe: hosted fields/iframe, tokenización; Sólo metadatos en los registros.
- Pruebas A/B de umbrales (T1/T2) y normas sobre mercados/emisores.
- Playbucks retrayes/soft-decline y métodos de pago alternativos.
- Políticas de retención de direcciones/PII (GDPR/DSR), enmascaramiento, minimización.
13) Ejemplo de políticas de mercado (esbozo)
UU./Canadá (AVS es fuerte): 'AVS = Y' o 'parcial + 3DS/bajo riesgo'; 'AVS = N' → challenge/decline.
UE (PSD2): énfasis en la 3DS2 (frictionless donde se pueda); AVS es una señal de puntuación.
Mercados internacionales con soporte AVS limitado: confianza en 3DS + device/geo/velocity; 'AVS = U/S/G' - neutral.
14) Resumen
AVS/CVV son los «primeros filtros» en los pagos CNP. Deben trabajar en conjunción con la 3DS2, la tokenización y la puntuación de riesgo, y las decisiones deben tomarse en función del contexto y no de un solo código. Normalice las respuestas, cree una puntuación, automatice la transición a 3DS, maneje suavemente las direcciones/PII y mida el resultado con métricas. Así que bajarás el frod y el charjbeki sin matar la conversión.