Validador de tarjetas bancarias
Escribe o pega el número de una tarjeta de crédito o débito y este validador de tarjetas comprueba su dígito verificador con el algoritmo de Luhn, te dice de qué red es (Visa, Mastercard, American Express…) y separa el BIN, las cifras que identifican al banco. Sirve para descubrir una cifra mal copiada antes de pagar o para probar un formulario de pago. Todo se calcula en tu navegador: el número no se envía a ningún lado.
Un número válido no significa que la tarjeta exista, esté activa o tenga fondos. El dígito verificador solo detecta errores al escribirlo. Nunca compartas el número completo junto con la fecha de vencimiento y el código de seguridad (CVV): con esos tres datos se puede comprar en tu nombre. Este validador no los pide.
Qué comprueba el validador
- Que solo tenga cifras y entre 12 y 19. Casi todas las tarjetas tienen 16; las de American Express, 15. Puedes escribirlo con espacios o guiones.
- El dígito verificador, la última cifra. Detecta cualquier cifra mal copiada y casi todos los intercambios de dos cifras seguidas. Si no cuadra, te dice cuál debería ser.
- La red, por las primeras cifras, y si el número tiene las cifras que usa esa red.
- El BIN (o IIN, número de identificación del emisor): las primeras cifras, que identifican al banco que emitió la tarjeta. Tradicionalmente eran 6; desde abril de 2022 Visa solo asigna BIN de 8 cifras y Mastercard también los usa, así que conviven los dos. El validador muestra 8 en las tarjetas de 16 cifras o más, y 6 en las demás. El validador no lo busca en ninguna base de datos: así no tiene que enviar nada.
Cómo saber la red por las primeras cifras
- Visa: empieza por 4. Tiene 16 cifras (también 13 o 19).
- Mastercard: de 51 a 55, o de 2221 a 2720. Tiene 16 cifras.
- American Express: 34 o 37. Tiene 15 cifras, agrupadas como 4-6-5.
- Discover: 6011, de 644 a 649, o 65.
- Diners Club: 30, 36, 38 o 39.
- JCB: de 3528 a 3589.
- UnionPay: 62.
- Maestro: 5018, 5020, 5038, 5893, 6304, 6759 o de 6761 a 6763.
- Mir: de 2200 a 2204.
Las tarjetas de redes locales, como Carnet en México, o las de tiendas departamentales usan otros prefijos. El validador las comprueba igual con el algoritmo de Luhn, pero no dice el nombre de la red.
Cómo se calcula el dígito verificador
Se usa el algoritmo de Luhn (norma ISO/IEC 7812), el mismo del NSS del IMSS y del IMEI de los teléfonos. Con las cifras anteriores al verificador, empezando por la derecha, se duplica una sí y otra no; si un doble pasa de 9, se le restan 9. Se suma todo, y el verificador es lo que falta para llegar a la siguiente decena.
Con 4242 4242 4242 424, el número de prueba sin su última cifra, los que se duplican son los ocho 4: cada uno da 8, y suman 64. Los siete 2 quedan igual y suman 14. El total es 78, y para llegar a 80 faltan 2: el número completo es 4242 4242 4242 4242.
Prefijos y longitudes de cada red: Wikipedia, «Payment card number», que resume la norma ISO/IEC 7812. BIN de 8 cifras: ICBA. Números de prueba: documentación de Stripe. Las 15 tarjetas de prueba salen con su red correcta.