Divers services en ligne ont des valeurs différentes pour l'année d'expiration maximale, en ce qui concerne les cartes de crédit.
Par exemple:
- Basecamp: +15 ans (2025)
- Amazon: +20 ans (2030)
- Paypal: +19 ans (2029)
Quel est le maximum raisonnable ici? Existe-t-il des directives officielles?
Réponses:
Il n'y a pas de directive officielle car les émetteurs de cartes de crédit peuvent choisir chacun quand les cartes qu'ils émettent expireront. En fait, ils émettent des cartes depuis de plus en plus longtemps. Si vous essayez de déterminer jusqu'où vous devriez tenir compte des dates d'expiration dans le futur, faites preuve de prudence et donnez à vos clients le choix entre plusieurs années. De cette façon, vous pérennisez votre application.
Pour info, de nombreux émetteurs de cartes de crédit n'utilisent pas la date d'expiration pour décider d'approuver ou non un achat par carte de crédit. Donc, si vous craignez qu'une date incorrecte ne soit fournie, le processeur aura finalement le dernier mot sur l'approbation ou non de la transaction afin que je ne m'inquiète pas à ce sujet.
Juillet 2017 : Je viens d'avoir un utilisateur final avec une carte expirée dans près de 50 ans.
la source
J'ajouterais dynamiquement + 15-20 ans à l'année de la date actuelle OU fournirais une entrée de zone de texte pour l'année (ce que je trouve personnellement plus rapide pour taper les deux chiffres que pour faire défiler une liste d'années).
la source
En tant que limite supérieure théorique, je propose que vous n'ayez pas besoin de considérer plus que la durée de vie prévue du titulaire de la carte. Wikipédia le fait dans ses normes éditoriales pour les biographies de personnes vivantes :
Donc, dans votre code, recherchez l'année en cours, ajoutez 115 et utilisez-la comme limite supérieure théorique de la date d'expiration de la carte de crédit. Vous n'aurez plus jamais à toucher à ce code.
la source
max
au cas où la personne la plus âgée utiliserait le formulaire une fois qu'elle aurait eu 116 ans ...: [Voici un extrait de code Javascript que vous pouvez utiliser pour afficher une liste personnalisable des années à venir pour la validation CC:
la source
Voici un échantillon des meilleurs détaillants en ligne américains:
la source
Bon appel, @Alistair.
Voici la génération du mois et de l'année dans ASP.NET MVC. Ajoutez ceci à votre modèle de vue:
Et ceci à votre avis:
la source
Alors que le deuxième exemple s'exécute deux fois plus vite que le premier, vous obtenez toujours la date et en extrayez l'année 20 fois au lieu de 40 fois. Un meilleur déroulement de la boucle est:
Ce sera environ 20 fois plus rapide que l'exemple deux fois plus rapide et résout également un bogue mineur dans le code d'origine en ce que l'année pourrait changer d'une récupération de la date à la suivante, entraînant des résultats inattendus, bien que dans ce cas inoffensifs.
la source
la source
Si vous voulez une solution qui ne donne pas des années à trois chiffres 2100+, vous devez moduler la date, vous devez donc remplir avec un zéro non significatif pendant xx00-xx09 ans pour ne pas obtenir d'années à un chiffre.
Ce sera très important à partir de 2080.
la source
Après avoir lu la validité supérieure de l'OP de 20 ans pour Amazon, j'ai écrit cette solution simple en PHP:
Cela a considérablement réduit le nombre de ces demandes de retrait
last year
du nouvel an d'un formulaire.Une version allégée de la boucle s'exécute ~ deux fois plus vite:
la source
date('Y')
etdate('y')
20 fois chacun est plutôt lent?la source