Una herramienta de pruebas segura para desarrolladores de sistemas de pago y profesionales de QA. Todos los números de prueba son no funcionales y exclusivamente para entornos de desarrollo.

Validador del algoritmo de Luhn

El algoritmo de Luhn (también llamado MOD 10) es la suma de verificación que usan las principales redes de tarjetas para detectar errores de escritura en los números de tarjeta. Pega un número abajo para comprobar si pasa: la validación es instantánea en tu navegador y no se envía nada a ningún servidor.

Cómo funciona el algoritmo de Luhn

  1. Empezando por el dígito de la derecha, duplica cada segundo dígito.
  2. Si al duplicar obtienes un número mayor que 9, réstale 9 (equivale a sumar los dos dígitos).
  3. Suma todos los dígitos (los duplicados y los que no cambian).
  4. Si el total es divisible entre 10, el número es válido.

Ejemplo: 79927398713 pasa la verificación; los dígitos procesados suman 70. Cambia un solo dígito y la suma ya no será divisible entre 10.

Implementación

JavaScript

function isValidLuhn(number) {
  const digits = number.replace(/\D/g, '');
  let sum = 0;
  let double = false;

  for (let i = digits.length - 1; i >= 0; i--) {
    let digit = Number(digits[i]);

    if (double) {
      digit *= 2;
      if (digit > 9) digit -= 9;
    }

    sum += digit;
    double = !double;
  }

  return sum % 10 === 0;
}

Python

def is_valid_luhn(number: str) -> bool:
    digits = [int(c) for c in number if c.isdigit()]
    total = 0

    for index, digit in enumerate(reversed(digits)):
        if index % 2 == 1:
            digit *= 2
            if digit > 9:
                digit -= 9
        total += digit

    return total % 10 == 0

Luhn no es suficiente

Un número puede pasar Luhn y seguir siendo inválido: el BIN puede no existir, la longitud puede ser incorrecta para la red o la tarjeta simplemente puede no estar emitida. Luhn solo detecta errores accidentales, como los errores de escritura. Para una verificación completa, combínalo con el verificador de BIN y, para obtener números de práctica, usa el generador de tarjetas de prueba.

Herramientas gratuitas para pruebas de pago