Online Expiry Date Test Guide: How to Check CVV Validity
Discover how to use an online expiry date test to verify the validity of CVV numbers when purchasing CVVs online.
Redeem your gift cards at any of our Merchants
Onyx Gift Cards is a Grenadian company designed to introduce, market and manage gift cards systems in Grenada for retailers and corporations. We are enthusiastic about the effect and influence we will have on the local market. We intend to expand our systems regionally with a range of product offerings and services.
Gift cards are the preferred way of giving and receiving gifts. They carry a monetary value that can be redeemed for gifts at your favorite store.
Onyx GiftCards are “Open Gift Cards” which means that they can be redeemed at multiple merchant locations. They are standard credit card size, can fit into the average wallet and made of PVC plastic. Onyx GiftCards are Barcoded for security and safety for the consumer and bear a disclaimer at the back.
Onyx Giftcards can be bought with a branded Card backer which is black in colour and is designed to fit the card. There is an area to write a brief message to the recipient as well.
An expiry date validation test checks that a payment form accepts card expiry dates written as MM/YY only when the month sits in the current month or later, and rejects past dates, malformed strings, and months outside 01 to 12. The test covers both the format rule and the date rule, because a form can pass one and fail the other. Teams run this suite before each release since a broken rule either blocks paying customers or stores junk data.
Four rules cover almost every production case.
The field holds two digits, a separator, then two more digits. A single-digit month such as 1/28 fails on most forms, so decide up front whether the code pads it or rejects it. Test typed input and pasted input, since the paste path often skips a keypress handler.
Months run from 01 to 12. Values like 00/28 and 13/28 must fail. The error message should name the field so the customer knows what to fix.
A card stays valid through the last second of its printed month. A card marked 06/26 works on June 30, 2026 and stops on July 1, 2026. This boundary causes most expiry bugs.
Some processors reject dates that sit too far out. A cap of 20 years catches typos such as 12/2125 while still accepting reissued cards.
Time is the hard part. A tester who runs the suite mid-month never sees the off-by-one error.
Browser validation gives fast feedback and cuts failed submissions. Server validation is the one that counts, since a script can skip the form. Run both and keep one rule set in each so they cannot drift apart.
Use sandbox card numbers issued by your payment processor, never live account data. Expiry dates in test files should be obviously fake, such as 01/30, and tied to a test BIN. Keep test card data out of production logs, since storing full card data brings PCI obligations.
Each row needs four fields: the input string, the system date, the expected result, and the reason the case exists.
Store the system date with the row. A case that passes in March can fail in April, and a tester who forgets the date cannot reproduce the bug.
Expiry checks run at the form, again when the request reaches the server, and once more at the processor during authorization. A card with a dead expiry date comes back as response code 54, expired card. Logging that code helps support staff tell an expired card apart from a declined one.
No. The card stays valid through the last day of the printed month.
No. A regex handles format, but the future-date rule needs the current date from a trusted clock.
About 20 rows cover format, range, and boundary cases. Add one row per timezone you support.