CVV, CVC, CID y CVV2: qué significa realmente el código de seguridad de la tarjeta
Pocas cosas en los pagos generan más confusión que el código de tres dígitos que está en el reverso de la tarjeta. ¿Es CVV, CVC, CVV2 o CID? ¿Va al frente en el caso de Amex? ¿Puedes guardarlo? Este artículo aclara la terminología y las reglas que importan para los desarrolladores.
Cuatro nombres, una misma idea
El código de seguridad es un número corto que no está codificado en la banda magnética ni en el chip EMV. Su función es demostrar que quien paga tiene la tarjeta físicamente en la mano, lo que lo hace valioso para las transacciones sin presencia de tarjeta (CNP).
| Término | Significa | Usado por | Longitud | Ubicación |
|---|---|---|---|---|
| CVV | Valor de verificación de tarjeta | Visa | 3 dígitos | Reverso |
| CVV2 | Valor de verificación de tarjeta 2 | Visa (sin presencia de tarjeta) | 3 dígitos | Reverso |
| CVC | Código de verificación de tarjeta | Mastercard | 3 dígitos | Reverso |
| CVC2 | Código de verificación de tarjeta 2 | Mastercard (CNP) | 3 dígitos | Reverso |
| CID | Número de identificación de tarjeta | American Express | 4 dígitos | Frente |
| CVV / CAV2 | Valor de autenticación de tarjeta | JCB | 3 dígitos | Reverso |
| CSC | Código de seguridad de tarjeta | Discover | 3 dígitos | Reverso |
La distinción entre CVV y CVV2 (o CVC y CVC2) es histórica: el sufijo "2" se refiere al uso del mismo valor en transacciones sin presencia de tarjeta. En el día a día del desarrollo, "CVV" se usa como nombre genérico del campo en todas las redes de tarjetas.
Las dos cosas que realmente importan en el código:
- Amex usa 4 dígitos en el frente: cualquier campo de entrada que obligue a 3 dígitos va a fallar en las pruebas con Amex.
- El valor completo es dato sensible del titular de la tarjeta, por lo que está cubierto por PCI DSS.
Las reglas de PCI DSS que no puedes ignorar
El CVV se clasifica como datos de autenticación sensibles. Según PCI DSS:
- Puedes usarlo para procesar una transacción.
- No puedes almacenarlo después de la autorización: ni en logs, ni en una base de datos, ni en un evento de analítica, ni en una captura de pantalla de soporte.
- No puedes almacenarlo ni siquiera cifrado. La prohibición es absoluta.
- Tampoco deberías mostrarlo de nuevo al usuario después de enviarlo.
En la práctica, esto significa:
- Nunca registres en logs payloads de solicitudes que contengan
cvv,cvc,cidosecurity_code. - Marca el campo como sensible en tus herramientas de observabilidad y elimínalo en el borde de la red.
- Cuando los proveedores devuelvan un resultado de verificación, guarda el resultado (
cvv_check: pass/fail/unchecked), nunca el valor en sí. - Mantén el campo CVV fuera de tu propia API si el navegador puede enviarlo directamente al endpoint de tokenización de la pasarela de pago.
Cómo se comportan las verificaciones de CVV en la práctica
La verificación del CVV es una señal de autorización aparte, no una barrera absoluta. Cada emisor y cada pasarela de pago manejan una discrepancia de forma distinta:
- Algunos rechazan la transacción directamente.
- Otros la aprueban y devuelven un código
CVC mismatch, dejando que el comercio decida. - Otros están configurados para omitir la verificación por completo en ciertas regiones.
Puedes probarlo de forma deliberada: la tarjeta 4000 0000 0000 0127 de Stripe siempre devuelve una respuesta de CVC incorrecto, ideal para ejercitar el manejo de errores sin tocar una tarjeta real. Consulta la lista completa de tarjetas de prueba para ver más.
Cómo generar CVV de prueba
Para trabajar en sandbox, la mayoría de las pasarelas de pago acepta cualquier combinación de 3 dígitos (o 4 en el caso de Amex). Nuestro generador de tarjetas puede adjuntar un CVV aleatorio o fijo a cada número generado y mostrar el resultado en un formato separado por barras verticales, fácil de convertir en fixtures:
4242424242424242|12|2030|123
Si necesitas generar números para un rango de emisor específico, el generador avanzado acepta patrones con comodines y el verificador de BIN te dice a qué red de tarjeta pertenece un prefijo.
Resumen
- CVV, CVC, CID, CVV2 y CSC describen la misma idea con nombres propios de cada red de tarjeta.
- Amex es la excepción: 4 dígitos, impresos en el frente.
- Nunca guardes el código después de la autorización: PCI DSS lo trata como dato de autenticación sensible.
- Trata una discrepancia de CVV como un resultado configurable y prueba tanto el rechazo como el camino de fallo suave.