API Gestion Carte Bancaire contrôler Carte Bancaire

Version : 5.0-00

Edition spéciale ES1

Package : fr.ACE.metier.bc4j.tiers.common

GestionCarteBancairecontrolerCarteBancaire

   
Schémas d’entrée et de sortie : IN OUT

Cette API permet de contrôler le numéro de la carte bancaire ainsi que sa période de validité.

API imbriquées : GestionCarteBancairecontrolerCleDeLuhn (contrôle du numéro de la carte suivant l’algorithme de la clé de Luhn) -

Contraintes et limites de fonctionnement (hors périmètre)

RAS.

Paramétrage (PPE)

RAS.

Processus, contrôles et règles de gestion

Etape Description du Processus
 
L’API contrôle la carte bancaire suivant 4 tests, le code retour évolue suivant le résultat, il est initialisée à zéro au départ :
  • La date de validité qui doit être postérieure à la date de règlement, sinon code retour + 1,
  • Le numéro de la carte bancaire doit vérifier l’algorithme de Luhn , sinon code retour + 8,
  • Le numéro de la carte ne doit pas exister dans la table NCB (liste noire des cartes bancaires), sinon code retour + 2,
  • Le numéro de la carte doit appartenir à une tranche de BIN, c’est à dire être référencé dans un enregistrement de la table TBN , sinon code retour + 4.

Le code retour permet donc de cumuler les retours des différents tests.

 

Si le code société n’est pas renseigné, la valeur prise par défaut est celle de la session métier.

Si le code fonction n’est pas renseigné, la valeur prise par défaut est celle de la session métier.

Si le code utilisateur n’est pas renseigné, la valeur prise par défaut est celle de la session métier.

Si la date de règlement n’est pas renseignée, la valeur prise par défaut est la date du jour.

1- On contrôle que la date de validité soit bien postérieur à la date de règlement.

2- Pour vérifier le numéro de la carte suivant la clé de Luhn, on double les chiffres de rang impair, et on additionne les chiffres, si le total est un multiple de 10, c’est un numéro de carte bancaire qui a un format valide.

 
Exemple
                :
N°: 4  8  3  3 . 2  4  8  4  . 5  5 
                0  3  . 3  4  7 
                2
    x  x  x  x   x  x  x  x    x 
                x  x  x    x  x  x 
                x
    2  1  2  1   2  1  2  1    2 
                1  2  1    2  1  2 
                1
   
                ___________________________________________________
    8  8  6  3   4  4  16 4    10
                5  0  3    6  4  14
                2
                      
                -       -                   -
                
                       9      
                9                  
                9
   
                ___________________________________________________
    8  8  6  3   4  4  7  4    1 
                5  0  3    6  4  5 
                2
 
Somme  :
                8+8+6+3+4+4+7+4+1+5+0+3+6+4+5+2 = 70.

C'est bien un multiple de 10.

3- On fait une lecture dans la table NCB (liste noire) avec le numéro de la carte bancaire.

4- On recherche le numéro de la carte bancaire dans TBN avec les restictions suivantes :
  • Dont le n° de début de tranche (codmin) est inférieur au n° de carte testé,
  • Et dont le n° de fin de tranche (codmax) est supérieur au n° de carte testé,
  • Et dont le nombre de chiffres (loncod) correspond à celui du n° de carte testé.