Menú

Formato de los números de tarjeta: prefijo, cuenta y control

Anatomía del formato de los números de tarjeta: prefijo del emisor, dígitos de cuenta y dígito de control, y por qué la longitud cambia según la marca.

Publicado el

  • formato
  • datos de prueba

El formato de los números de tarjeta no es un capricho estético: cada tramo de dígitos tiene una función y el software de cobro los interpreta en un orden concreto. Dos números con la misma longitud pueden pertenecer a marcas distintas, a países distintos y a emisores distintos, y esa diferencia se decide en los primeros dígitos. Entender la estructura permite escribir validaciones que rechacen lo imposible sin rechazar por error lo que simplemente no conocen.

¿Cómo se descompone un número de tarjeta?

De izquierda a derecha, todo número de tarjeta se descompone en tres bloques:

  • El prefijo del emisor. Los primeros dígitos identifican la marca y, dentro de ella, el rango asignado a una entidad emisora. Es lo que hace que una página de pago muestre el logotipo correcto antes de enviar nada.
  • Los dígitos de cuenta. El emisor los asigna libremente dentro de su rango. No tienen significado público; su único requisito es no repetirse.
  • El dígito de control. Se calcula con una suma de control sobre todos los anteriores, como se explica en el artículo sobre el algoritmo de Luhn, y cierra el número.

Al conjunto se le llama en la industria número de cuenta principal. Cuando un formulario avisa de que un número no es correcto, casi siempre se refiere a que uno de estos tres bloques no encaja: longitud fuera de rango, prefijo desconocido o suma que no cuadra.

¿Cuántos dígitos tiene una tarjeta?

Si preguntas a diez personas, la mayoría contestará dieciséis. Es la longitud más habitual, pero está lejos de ser la única: existen números de trece, catorce, quince y dieciséis dígitos en circulación, y la norma internacional de numeración admite hasta diecinueve.

La variación tiene una explicación histórica. Los prefijos empezaron siendo cortos y con los años se fueron alargando, primero hasta seis dígitos y después hasta ocho, para que hubiera más combinaciones disponibles. Cada dígito que se añade al prefijo se resta de los dígitos de cuenta, porque el total no puede crecer sin límite. Un sistema que dé por hecho que el número siempre tiene dieciséis dígitos rechazará tarjetas perfectamente reales, y ese es uno de los errores más caros que puede cometer una pasarela propia.

El identificador del emisor y sus orígenes

El prefijo recibe el nombre de número de identificación del emisor. Durante décadas se le llamó BIN, siglas de bank identification number, y todavía verás esa palabra en muchas herramientas y en la documentación de las pasarelas; hoy se prefiere el término IIN, porque no todos los emisores son bancos y algunos rangos ni siquiera corresponden a entidades financieras.

Un identificador de emisor no señala a una persona ni a una cuenta, sino a un rango. Dos tarjetas del mismo emisor comparten los primeros dígitos y se diferencian en los del medio. Además, los rangos se reparten por marca y por región, de modo que el mismo prefijo no aparece en dos redes distintas.

El generador de este sitio trabaja precisamente con esos rangos publicados: cuando eliges la marca, el prefijo sale de su bloque real de emisores, y por eso la página de pago reconoce la marca al instante. Lo que no puede hacer, ni debe, es averiguar a quién pertenece una cuenta concreta.

El primer dígito y el sector

El dígito más a la izquierda tiene nombre propio: identificador principal de industria. No describe al emisor, sino al sector al que la red ha asignado ese bloque entero de números. Es un esquema publicado, no un secreto.

Primer dígito Sector asignado
1 y 2 Aerolíneas
3 Viajes y entretenimiento
4 Visa
5 Mastercard
6 Discover y UnionPay
7 Petróleo
8 Telecomunicaciones
9 Asignación nacional

Que el tres sea el bloque de viajes y entretenimiento explica por qué American Express, Diners Club y JCB conviven ahí y por qué sus números no se parecen a los de Visa. Las diferencias van más allá del primer dígito: las longitudes y los códigos de seguridad también cambian, como se detalla en el artículo sobre las tarjetas de prueba por marca.

Espaciado, agrupado y presentación

Cuando escribimos un número lo agrupamos en bloques de cuatro dígitos, y esa separación es cómoda pero no forma parte del dato. Nadie debería guardar espacios ni guiones en una base de datos: se almacenan los dígitos y se añade el formato al mostrarlos en pantalla.

El agrupado tampoco es universal. Las marcas de quince dígitos suelen escribirse en grupos de cuatro, seis y cinco, y las de diecinueve se reparten de otras maneras. Un campo de entrada que inserte un espacio fijo cada cuatro caracteres puede volver imposible teclear correctamente una tarjeta de quince.

Sobre la visualización hay además una regla de cumplimiento: cuando se muestra un número almacenado, se enmascara dejando visibles como mucho los seis primeros dígitos y los cuatro últimos. Todo lo que queda en medio se tapa. Ese detalle y el resto de obligaciones están reunidos en el artículo sobre datos de prueba y cumplimiento.

Para quien programa

El formato se comprueba en varios sitios a la vez, y ahí es donde aparecen las incoherencias. Estos puntos merecen una decisión explícita antes de escribir el validador.

  • Normaliza en la frontera. Todo lo que llega del formulario se limpia una sola vez, al entrar, y a partir de ahí circula sin espacios ni guiones. Si cada capa limpia a su manera, las comparaciones fallan de forma intermitente.
  • Guarda como texto. Un número de dieciséis dígitos roza el límite de precisión de los enteros en varios lenguajes, y convertirlo puede alterar el último dígito sin avisar.
  • Fija el rango de longitud en un único sitio. Los límites mínimo y máximo deben estar en una constante compartida, no repetidos en el formulario, el servidor y las pruebas.
  • Acepta longitudes raras a propósito. Un rango que solo admite dieciséis dígitos es una decisión de producto, no una verdad del formato, y conviene documentarla.
  • Separa el agrupado de la validación. La función que decide si un número es correcto no debería saber nada de cómo se muestra.

Y una precaución sobre los datos: los números que uses para las pruebas deben tener estructura válida y no pertenecer a ninguna cuenta. Ese es exactamente el tipo de dato que produce el generador de este sitio: cadenas correctas, nunca emitidas y listas para comprobar máscaras, agrupados y mensajes de error.

Siguientes pasos

Si lo que necesitas es un número que respete estas reglas sin pertenecer a nadie, el generador de tarjetas de prueba lo produce al instante y en la cantidad que pidas. Si quieres comprobar la aritmética del último dígito, el algoritmo de Luhn está explicado paso a paso. Y si estás construyendo la validación, el artículo sobre validar un número de tarjeta propone un orden de comprobaciones que evita los atajos habituales.

Seguir leyendo

Artículos sobre Generador de números de tarjeta de crédito falsos