VALIDATION DE CARTE DE CREDIT

webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 - 16 sept. 2008 à 09:00
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 - 16 janv. 2009 à 15:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47963-validation-de-carte-de-credit

zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
16 janv. 2009 à 15:52
La date ne fait pas partie de cet algorithme.... rendu la je crois que c'est la compagnie tel que Visa qui doit valider l'info.
Iriven Messages postés 72 Date d'inscription samedi 23 juin 2007 Statut Membre Dernière intervention 3 février 2014
2 oct. 2008 à 15:01
salut!
l'idée de cette source est bonne mais je la trouve incomplete car que fais tu de la date d'expiration de la carte? moi je preconiserais plutot une classe gerant tous les parametres à verifier sur une carte avant acceptation du payement.
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
17 sept. 2008 à 17:41
Exacte et puis c'est toujours intéressent de voir comment ca fonctionne !
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
17 sept. 2008 à 15:44
romain42 : en effet mais bon celui ci est plus complet car il valide aussi que le bon type de carte a ete choisi... alors au pire aller, c'est pour des faims educative :P
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
16 sept. 2008 à 16:29
Bon premierement voici les parametres pour les 3 types de carte principaux:

Type: MASTERCARD
Prefix: 51-55
Longueur: 16
Algo de validation: mod 10

Type: VISA
Prefix: 4
Longueur: 13, 16
Algo de validation: mod 10

Type: AMEX
Prefix: 34 ou 37
Longueur: 15
Algo de validation: mod 10

Etape 1:
On double la valeur de chaque 2 de 2 en commencant par le 2e caractere comme ceci:

49927398716 devient
4(18)9(4)7(6)9(16)7(2)6 (les chiffre qui sont entre parantese le sont simplement pour rendre plus clair l'exemple)

Etape 2:
On additionne en decomposant les sum obtenues en 1 comme ceci:
4+(1+8)+9+(4)+7+(6)+9+(1+6)+7+(2)+6
Somme = 70 (la somme doit etre un multiple de 10 si non la carte n'est pas valide)

Etape 3:
Sum(etape2) % 10 = 0
Le resultat DOIT etre zero
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
16 sept. 2008 à 16:00
48.2.5. Ccnum
Retourne true si et seulement si $value respecte l'algorithme de Luhn ("module 10") pour les numéros de cartes de crédits
désolé :D
http://framework.zend.com/manual/fr/zend.validate.set.html#zend.validate.set.ccnum
zen69 Messages postés 584 Date d'inscription jeudi 28 décembre 2006 Statut Membre Dernière intervention 29 avril 2010 1
16 sept. 2008 à 15:56
Ah ouais !? loll moi qui a passé une journée à tous comprendre et programmer :P

Explications à venir
cs_romain42 Messages postés 18 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 18 septembre 2008
16 sept. 2008 à 15:43
En effet c'est assez intéressent mais pourrais tu aporter plus d'explication à ta sources (principalement sur l'algorithme utilisée)?
Il me semble aussi que le Zend Framework propose, par défaut, un validateur pour les cartes de crédit.
Bonne continuation.

romain
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
16 sept. 2008 à 09:00
Source très intéressante :)
Rejoignez-nous