Welcome to WebmasterWorld Guest from

Forum Moderators: buckworks

Message Too Old, No Replies

CC Expiration Date - User Interface Question

How do you do it?

5:03 pm on Dec 22, 2003 (gmt 0)

Full Member

10+ Year Member

joined:May 29, 2003
votes: 0

We have a persistent problem where our customers enter an incorrect credit card expiration date, and I can only attribute it to some flaw in our user interface design - surely 15% of our customers aren't complete idiots...

The problem compounds because we don't authorize the card immediately - authorization is a manual process from our backoffice interface, usually an hour or two after the order is placed. So when we get an authorization failure, we have to contact the customer and wait usually a day or two before we get a response and find out the expiration was really 08/05 instead of 02/06...

But I think our UI is pretty standard - we have a pair of drop-down combo boxes, one for expiration month and one for year. The months are listed as "Jan (01)" etc.

I've wondered if maybe a free-form 4-digit edit box might be more appropriate but so far have decided against it because of the range of validation issues it would bring.

Do others see an inordinate number of invalid expiration date entries?

What entry format do you use?

5:05 pm on Dec 22, 2003 (gmt 0)

Senior Member

WebmasterWorld Senior Member shak is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:June 28, 2002
votes: 0


we used to have exactly the same problem, at least 10% of daily orders would get rejected because of the drop down box for expiry date.

in the end we went for 2 empty boxes where user would manually enter:

mth and year.

problem solved


2:24 pm on Dec 23, 2003 (gmt 0)

New User

10+ Year Member

joined:June 10, 2002
votes: 0

Good choice to not use freeform text-entry and fiddly validation -- using drop-downs is the easiest way, for both the implementor and the end-user.

We found that we got the least amount of data-entry errors in on the cc payment page by making the year drop-down into a four digit number, and pre-filling it with the range [current year] to [current year + 10] (inclusive). This way, the only room for error is if the customer mis-interprets their expiry date at time of purchase.

We also do similar for card 'start date', when applicable.

Hope this helps?