Skip to content

Gift Cards

OpenCart sells gift vouchers already. What it does not do is let one expire, let the person holding it find out what is left on it, or tell you what your store still owes on the cards it has sold. Gift Cards adds those three things on top of the vouchers you are already selling.

Gift Cards works on top of OpenCart's vouchers rather than replacing them. Your cards stay in OpenCart's own tables, sold through OpenCart's own form and redeemed at OpenCart's own checkout box. Gift Cards stores exactly one fact of its own, the day a card stops working, and works everything else out from rows OpenCart already had.

The Outstanding gift card liability report. One headline figure, still owed on
gift cards, over four companion figures: past their expiry date and cards you
switched off, each badged as counted inside the headline, and issued by hand and
purchasing order not complete, each badged as not counted in it. Under them, a
table of every card with something left on it, each row carrying the same
badge.

What it does

  • Gives new cards an expiry date. Set a validity period once, in whole months. A card's date is worked out on the day its order first reaches a completed status, and written onto that card. From then on it is that card's own date.
  • Never reaches backwards. Changing the period next year cannot take a day off a card somebody paid for this year, and cannot add one either. The period is read once and then never again.
  • Tells the buyer before they pay, and the recipient when it arrives. Where a period is set, the gift card purchase form carries a line saying how long the card will be good for, and OpenCart's own gift card email carries the card's date.
  • Refuses an expired card at every redemption path. All four places OpenCart resolves a voucher code go through one model method, and one listener governs all of them.
  • Warns you where the law has a floor. Several countries set a minimum validity period, and Ireland makes selling below it a criminal offence. Set a period below the highest verified floor and the settings screen says so, with the table beside it. It warns; it never refuses.
  • Gives the holder a page of their own. A public page where somebody enters their card code and the address it was sent to, and sees the balance, the expiry date and what has been spent. No account needed, because the person holding a gift card usually has not got one.
  • Puts the figures on the order screen. An order that sold gift cards gets a panel showing each card, its face value, what has gone and what is left: the numbers a refund decision needs, on the screen where it is taken.
  • Reports what you still owe. One figure under Reports: the money taken for cards that have not been spent yet, with expired and switched-off cards broken out inside it, and hand-issued and not-yet-paid cards shown beside it. The list of cards under it filters, and downloads as a CSV.

What it does not do

  • It does not run on OpenCart 4.1 or above. OpenCart deleted the whole gift voucher feature in 4.1.0.0, so there is nothing there to extend. Gift Cards refuses to install there. See which releases this runs on.
  • It does not take the money when a card expires. An expired card stops being spendable; the balance is still shown, still reported as owed, and is still yours to honour if you decide to.
  • It does not date the cards you type in by hand behind your back. A voucher created in Sales → Gift Vouchers has no purchasing order, so the Add form only suggests a date from your period; what you leave in the box is what the card gets. See limits.
  • It does not act on refunds. Refunding an order shows you what each card has left. It voids nothing and claws nothing back, because who absorbs an already spent portion is a decision that affects both the buyer and whoever holds the card.
  • It does not enforce any law. The floors it warns about are the six that were checked against a primary source. It will save any period you type.
  • It never writes to OpenCart's voucher tables, which is what makes removing it safe. It also means it cannot fix anything that is wrong in them.
  • It does not enforce expiry once it is removed. Switched off, it still dates cards and refuses expired ones, and only the shopper's screens go; removed, an expired card redeems again. See limits.
  • It does not delete your data when you uninstall it. The expiry dates stay.

All of that is written out on limits and guarantees; read it before buying rather than after.

The rest of this section

Whichever extension you bought, the shared pages apply to it too.