How does one determine that the card a person is entering is a debit card, check card, or credit card?
I am looking at this for web payments in the US only. This is for utility billing.
How does one determine that the card a person is entering is a debit card, check card, or credit card?
I am looking at this for web payments in the US only. This is for utility billing.
not sure what you need that for, but all POS systems i'm aware of ASK THE USER to specify the type of the card.
you can run Debit as Credit - no need for pin number
you can run Credit as Debit - enter in your pin, and transaction will count as cash advance
Wiki has lists of credit vs. debit prefixes
However, IIRC some cards may be used as both credit and debit depending on context.
I'm thinking you are getting confused that when you swipe the card in a store the machine knows which kind of card you've got. Although with my Dutch debit card I always got the option to choose..
But I'm guessing the magnetic strip stores more than just the number, and the card readers use that to determine your type of card.
You'll just have to join the other applications/sites and ask the user :)
You've probably found this out already through your payment gateway but cards (debit, credit, custom [e.g store cards] are not easily distinguishable without a bit of help. Usually you can send the card number to the payment gateway and they'll give you this detail but you can work it out from a simple prefix table.
Simply put each bank/organisation is given access to a certain set of prefixes [numbers at the start] and depending on the level of detail you want you can match any card number to an organisation using the prefix. What is nice is that Debit Cards and Credit Cards use different prefixes even from the same bank.
From a web gateway point of view you don't typically care as the payment gateway will automatically tell you if they accept the card, do hotcard checks for you and validate the other information entered.
The comment (above/below) about not having to enter your pin on a debit card is wrong. That is not a debit card, sometimes referred to as Garage/Fuel Cards (where I come from) they only work for certain "fuel type transactions" to speed up processing at the forecourt.
Number ranges. Here is a small excerpt of an old specification I had once.
There may well be other methods by now for instance in the return message from the processor, but I have not had to deal with this for a long time. We process everything as a credit card and if the card is strictly a debit card the bank just takes care of it.
The best code I've seen for checking a card type is a Javascript page at http://www.eflo.net/mod10.htm - can differentiate between a VISA Debit and Credit card as you requested, a long with many other variations of cards. I've ported this code to C# very easily.
Your other alternative is to acquire a copy of the BIN (Bank Identification Number) database, which is a list of all card prefixes, the card issue, and the card validation requirements (e.g. Expiry Date, Issue No, Start Date). Some BIN sources;