When paying for a purchase with a credit card, why ask what type of card the card is? Is this a security feature so that the card type and number match up? (For those that don’t know, AMEX’s start with 3, Visa with 4, MCs with 5, Discover with 6.) It should be apparent that any card that starts with a 4 is a Visa, for example.
But it helps them know if you made a dumb mistake.
It probably is possible to design a system that figures that out on its own but it isn’t great systems design to set it up that way. Different cards have different numbers of digits and it is best to explicitly state how the system should parse the values and number of digits it should expect. In the case of an error, it makes error handling easier as well. If the consumer says it is an American Express card yet enters more than 15 digits, you can check against the first digits of the card to cross-check the type of card and, if that matches, give an error that extra digits were entered. Without that cross-check, the source of the error may be harder to figure out.
It simply a way to verify the credit card. It’s a check. It’s also very helpful for the consumer. If he intends to pay with his Visa and he grabs his wallet and starts type 5455… he may then say “Whoa I didn’t want the MasterCard.”
The number of digits really isn’t an issue. The first set of numbers determain the type of card so they don’t need all the numbers.
Starting digits:
VISA - 4
MC -5
Discover - 6011
AMEX - 37 or 34
Diners - 30 or 38
JCB - 35
That is what I recall from my days as an asst controller. There may be others or some other changes
Because the store may not accept that kind of card.
It saves going through the whole process of getting and checking the number, expiration, and so on, only to end up with, “Oh, that’s a Diner’s Club card. We don’t take Diner’s club.”
I wonder if there’s also a small anti-fraud benefit too. If someone says “Visa” but starts with “60…” then there is a chance that they aren’t actually looking at the card, and therefore might not own it/be allowed to use it. If the person keeps insisting it’s a Visa, that’s a red flag, no? Although I would assume anyone seriously trying to make a purchase with a stolen card would take the 20 seconds to find out what type of card it is, so I don’t know if this is really a significant reason for asking for the type of card.
I remember writing a regex rule in snort to detect credit cards and there are lots of cards that dont follow the assumed rules (4 visa, 5 mastercard, etc). I dont remember the specifics but stuff like Diner’s Club and other third-tier cards have an odd numbering system. Example, a card that begins with 5 and is 16 digits can either be a Mastercard or a DIner’s Club card, but needs to be processed like a Mastercard even when it clearly says Diner’s Club on there.
They also have different number lengths. Some are 16, 15, 14, etc.
Not to mention, they may have a 3rd party verification company or two and they might be making the demand to send card type when checking to see if the card is stolen or not.
I suspect the real answer is Wombat’s. I’m sure there’s some history here that leaves it in place. Its easy for humans to say “I see here you used your visa card with us” instead of “I see here you used 41111111111111” I’ve had more than one phone call with customer support that went like this “Which card did you use?” “Probably my Visa card” “Oh, I see it. Ill perform the refund now.” No numbers exchanged at all. It was quite pleasant.