Un outil de test sécurisé pour les développeurs de systèmes de paiement et les professionnels QA. Tous les numéros de test sont non fonctionnels et réservés aux environnements de développement.

Validateur de l'algorithme de Luhn

L'algorithme de Luhn (aussi appelé MOD 10) est la somme de contrôle utilisée par tous les grands réseaux de cartes pour détecter les fautes de frappe dans les numéros de carte. Collez un numéro ci-dessous pour vérifier s'il passe : la validation est instantanée dans votre navigateur et rien n'est envoyé à un serveur.

Comment fonctionne l'algorithme de Luhn

  1. En partant du chiffre le plus à droite, doublez un chiffre sur deux.
  2. Si le doublement donne un nombre supérieur à 9, soustrayez 9 (l'équivalent de l'addition des deux chiffres).
  3. Additionnez tous les chiffres (doublés et inchangés).
  4. Si le total est divisible par 10, le numéro est valide.

Exemple : 79927398713 passe la vérification — les chiffres traités totalisent 70. Modifiez un seul chiffre et la somme ne sera plus divisible par 10.

Implémentation

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 ne suffit pas

Un numéro peut passer Luhn et rester invalide : le BIN peut ne pas exister, la longueur peut être erronée pour le réseau, ou la carte peut simplement ne jamais avoir été émise. Luhn ne détecte que les erreurs accidentelles, comme les fautes de frappe. Pour une vérification complète, combinez-le avec le vérificateur BIN, et pour des numéros d'entraînement, utilisez le générateur de cartes.

Outils gratuits pour tester les paiements