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.

4 min de lecture Par Namso Gen

CVV, CVC, CID et CVV2 : ce que signifie vraiment le code de sécurité

Peu de sujets dans le paiement créent plus de confusion que le code à trois chiffres au dos d'une carte. Est-ce CVV, CVC, CVV2 ou CID ? Se trouve-t-il au recto pour Amex ? Pouvez-vous le stocker ? Cet article clarifie la terminologie et les règles qui comptent pour les développeurs.

Quatre noms, une seule idée

Le code de sécurité est un nombre court qui n'est pas encodé dans la piste magnétique ni dans la puce EMV. Son rôle est de prouver que la personne qui paie tient physiquement la carte, ce qui le rend précieux pour les transactions carte absente (CNP).

Terme Signification Utilisé par Longueur Position
CVV Card Verification Value Visa 3 chiffres Verso
CVV2 Card Verification Value 2 Visa (carte absente) 3 chiffres Verso
CVC Card Verification Code Mastercard 3 chiffres Verso
CVC2 Card Verification Code 2 Mastercard (CNP) 3 chiffres Verso
CID Card Identification Number American Express 4 chiffres Recto
CVV / CAV2 Card Authentication Value JCB 3 chiffres Verso
CSC Card Security Code Discover 3 chiffres Verso

La distinction entre CVV et CVV2 (ou CVC et CVC2) est historique : le suffixe « 2 » désigne l'usage de la même valeur en carte absente. Au quotidien, les développeurs utilisent « CVV » comme nom générique du champ, quel que soit le réseau de la carte.

Les deux points qui comptent vraiment dans le code :

  1. Amex utilise 4 chiffres au recto — tout champ de saisie qui impose 3 chiffres fera échouer les tests Amex.
  2. La valeur complète est une donnée de titulaire sensible, donc couverte par PCI DSS.

Les règles PCI DSS que vous ne pouvez pas ignorer

Le CVV est classé comme donnée d'authentification sensible. Selon PCI DSS :

  • Vous pouvez l'utiliser pour traiter une transaction.
  • Vous ne pouvez pas le stocker après l'autorisation — ni dans les logs, ni dans une base de données, ni dans un événement analytics, ni dans une capture d'écran de support.
  • Vous ne pouvez pas le stocker même chiffré. L'interdiction est absolue.
  • Vous ne devriez pas le réafficher à l'utilisateur après l'envoi.

En pratique, cela signifie :

  • Ne journalisez jamais de payloads de requête contenant cvv, cvc, cid ou security_code.
  • Marquez le champ comme sensible dans vos outils d'observabilité et supprimez-le en périphérie.
  • Quand un fournisseur renvoie un résultat de vérification, stockez le résultat (cvv_check: pass/fail/unchecked), jamais la valeur elle-même.
  • Gardez le champ CVV hors de votre propre API si le navigateur peut l'envoyer directement au point de terminaison de tokenisation de la passerelle.

Comment se comportent les contrôles CVV en pratique

Un contrôle CVV est un signal d'autorisation distinct, pas une barrière stricte. Les émetteurs et les passerelles gèrent différemment une non-concordance :

  • Certains refusent purement et simplement la transaction.
  • Certains l'approuvent et renvoient un code CVC mismatch, laissant le marchand décider.
  • Certains sont configurés pour ignorer complètement le contrôle dans certaines régions.

Vous pouvez le tester délibérément : le numéro 4000 0000 0000 0127 de Stripe renvoie toujours une réponse CVC incorrecte, ce qui est idéal pour exercer votre gestion d'erreur sans toucher à une vraie carte. Voir la liste complète des cartes de test pour en savoir plus.

Générer des CVV de test

Pour le travail en sandbox, la plupart des passerelles acceptent 3 chiffres quelconques (4 pour Amex). Notre générateur de cartes peut attacher un CVV aléatoire ou fixe à chaque numéro généré et produire le résultat dans un format séparé par des barres verticales, facile à parser en fixtures :

4242424242424242|12|2030|123

Si vous devez générer des numéros pour une plage d'émetteur précise, le générateur avancé accepte les motifs avec jokers, et le vérificateur de BIN vous indique à quel réseau appartient un préfixe.

Résumé

  • CVV, CVC, CID, CVV2 et CSC décrivent tous la même idée avec des noms propres à chaque réseau.
  • Amex est l'exception : 4 chiffres, imprimés au recto.
  • Ne stockez jamais le code après l'autorisation — PCI DSS le traite comme une donnée d'authentification sensible.
  • Traitez une non-concordance de CVV comme une issue configurable et testez à la fois le refus et le soft-fail.

Articles connexes