OpenCart gift cards

OpenCart sells gift vouchers. It never tells you what they cost you

A stock OpenCart voucher never expires, cannot be checked by the person holding it, and appears in no figure anywhere. Gift Cards adds those three things and nothing else: an expiry date worked out when the order completes and written onto the card, a public balance page that needs no account, and one figure saying what your store still owes on cards nobody has spent. It is a layer rather than a replacement: your cards stay in OpenCart's own tables and redeem at its own checkout box, and taking the extension off again leaves every card you have sold still working.

It runs on OpenCart 4.0.2.x only. Version 4.1.0.0 removed the voucher subsystem this extension extends (the model, its tables and the checkout box), so there is nothing on a 4.1 store for it to add anything to. Read that before you buy rather than after.

Get it on the marketplace Read the documentation

The outstanding gift card liability screen. Still owed on gift cards, $135.00 across 3 cards, beside a paragraph saying the figure covers cards whose purchasing order reached a status nominated as complete and which still have something left on them. Four groups under it: past their expiry date $50.00, counted in; cards you switched off $25.00, counted in; issued by hand with no order $40.00, not counted; purchasing order not complete $75.00, not counted. Below, filters by code or recipient, by figure and by days to expiry, a Download CSV button, and a table of every card with something left on it: code, who it was sent to, its order, what it sold for, what is still owed, when it expires and whether it is counted.
The four groups are the point rather than the total. An expired card is still owed, because expiry stops it being redeemed and never forfeits what is on it; a card you handed out yourself is not, because nobody paid you for it. Each one says which it is and why, so the $135.00 is a figure you can take to somebody.

An expiry date on the cards you sell

Set a validity period once, in whole months. A card’s own date is worked out on the day its order first reaches a completed status, and written onto that card. A period landing on a day the target month has not got is pulled back to that month’s last day, and the buyer is told how long the card will be good for on the purchase form before they pay.

It can never reach backwards

The period is read once, at issue, and never again. Shortening it next year cannot take a day off a card somebody paid for this year, and lengthening it cannot give one away. That is a property of where the date is stored rather than a rule anybody has to remember.

One figure for what your store still owes

What you have taken money for and not yet given goods for, across the whole installation, with the four groups that make it up shown beside it: expired cards and switched-off ones counted in, cards issued by hand and cards whose order has not completed counted out, each with the reason. It says what the store’s own records say and calls itself nothing more than that.

A balance page for whoever is holding the card

Public, no account needed, because the holder of a gift card is usually not the buyer. They enter the code and the address the card was sent to, and see the balance, the expiry date and what has been spent. It is linked from your own footer under OpenCart’s own Gift Certificates link. An expired card still answers, saying plainly that it can no longer be spent. The money did not vanish on a date.

Built so it cannot become an oracle

Wrong code, wrong address, switched-off card and too many tries all give one identical refusal, because a message that told them apart would let somebody with no card work out which codes exist. Two independent throttles, one per address and one per card, and the attempt log keeps no card code and no email address.

A layer, not a replacement

Your cards stay in OpenCart’s own tables, sold through OpenCart’s own form and redeemed at OpenCart’s own checkout box. It stores one fact of its own, the day a card stops working, and every redemption path runs through the one model method it listens on, so a card is refused at all four or at none. Take the extension off again and every card you have sold still redeems.

Translation published, not claimed

Which of our strings a named native speaker has actually read is published per extension and per language, and anything unreviewed ships as English rather than as a blank or a raw identifier.

Two things are worth knowing before you buy, and limits and guarantees is where they and the rest are written down in full. It runs on OpenCart 4.0.2.x and nothing above. 4.1.0.0 removed the voucher subsystem it extends, so it refuses to install there rather than installing and misbehaving. And several countries set a minimum validity period, with selling below it a criminal offence in Ireland: type a period below the highest verified floor and the settings screen says so, with the table of jurisdictions beside it. It warns and refuses nothing, because there is no EU-wide rule to enforce.

Questions people ask before buying

Can OpenCart gift vouchers be given an expiry date?

Not in stock OpenCart, which sells vouchers that never expire. Gift Cards sets a validity period in whole months, works each card’s own date out on the day its order first reaches a completed status, and writes that date onto the card, so shortening the period later cannot take a day off a card somebody has already paid for.

Can somebody check a gift card balance without an account?

Yes, and that is the point: the holder of a gift card is usually not the buyer. They enter the code and the address the card was sent to on a public page, linked from your own footer, and see the balance, the expiry date and what has been spent.

Does it work with OpenCart 4?

Every Kyvero extension is built for OpenCart 4.x. Each one declares the lowest release it will install on and refuses to install below it, and its documentation lists the releases a full install-and-upgrade pass was run against.

Do I get the source code?

Yes. An extension is PHP on your own server: readable, not obfuscated, and with no remote licence check to fail. Your copy is yours to modify and to keep backed up.

Who answers when something goes wrong?

A developer, usually the one who wrote the extension. There are two official routes, the support portal and the support address, and both arrive in the same place.