

Yet many sites returned validation errors whenever these subjects also typed in spaces, something we found to be a major source of usability issues. For most credit cards (although not all), this is a 16-digit string with spaces between every 4th digit (later in the article we’ll elaborate on the cards that deviate from this pattern).ĭuring testing, 23% of the subjects were observed to type and/or verify their card number in these distinct 4-digit blocks. Secondly, besides double-checking their card number after entry, the test subjects were often observed to enter their number in the same format in which it is embossed or printed on their physical card. Several subjects “chunked” the card number into 4-digit groups, rather than entering all 16 digits in one go. The subject would enter 4 digits from his card into the “Card Number” form field, then look down at his credit card for the next 4 digits, enter those, and so on until the entire number had been entered. It’s therefore not that surprising when we during testing observed a sub-group of users meticulously double-checking their card number after having typed it by nearly always looking from the physical card to the typed number on the screen, and using the mouse cursor to inspect the typed number in 4-digit blocks.Īt Walmart, this test subject has begun to enter his credit card number. Indeed our checkout benchmark reveals that even among the 50 top-grossing US e-commerce sites, 18% still clear out the user’s entire card number on just the smallest typo.
FLUTTER CREDIT CARD VALIDATOR FULL
Many users have – likely due to poor prior general checkout experiences, typically on other sites – come to suspect that a card validation error may also clear out all of their typed card data, hence a transposed digit will force them into re-typing their full credit card data. But in practice it’s often worse than just an error. A single typo when transferring the 15-16 digit numeral string printed on the physical card into the card number form field will cause a validation error. Oftentimes we observed that test subjects, after having inputted their credit card number, double-checked it to make sure the it was correct before submitting the form. Note the placement of the cursor in the card number string.įirstly, during testing, subjects tended to be extra careful when inputting their card number. I just check on the card that the numbers are right… I click between so I can gauge it.” This subject explained her method for checking to make sure that the card number is inputted correctly. There are two key test observations as to how users behave a) after having typed their card number, and b) when typing their card number. Why 23% of Users Type or Verify Their Card Number in 4-Digit Blocks How the technical implementation should handle card types with “odd” formatting (AMEX, Diners, etc).How auto-formatting spaces was observed to lift input accuracy and lower abandonment rates due to fewer card validation errors.Why it causes severe usability issues when sites disallow spaces in the card number input (never do this!).How users type their card number and why 23% of users are observed to type or verify their card number in distinct 4-digit blocks.In this article we’ll therefore present our test findings on the following: Yet, our research also show that 80% of e-commerce sites currently don’t use this powerful typing aid for their credit card field.

Our test sessions also revealed that allowing users to type spaces and auto-formatting their card number with spaces can greatly improve users’ accuracy when typing their credit card number, and help them to more easily check that their typing is valid. I also added support for more payments cards like Discover, American Express, Diners Club, and JCB.The long 15-16 digit credit card number is very prone to typos and we observed 23% of users to either type or verify their card number in distinct 4-digit blocks – identical to the physical print on most credit cards. I have pushed a project that you can clone and test out the above features.

For example purposes, I keep it down to just three viz. We’ll create an enumeration of all the card types we wish to support. You can check this Wikipedia page for the full article. For example, numbers starting with 4 are issued by Visa while those issued by Verve starts from 5060, 5061, 5078, 5079, or 6500.

The length varies from 8 to 19 digits and while the authenticity of these numbers can be verified using the Luhn algorithm, the first six digits can be used to determine the card issuer. Payment card numbers might appear random, but they actually follow a certain pattern. Validating Payment Card Number, Determining its Issuer and Formatting the Text Field
