
Loyalty Points & Cashback for OpenCart — points programme with checkout redemption
Cashback in points for completed orders and paying with points in the cart. Pro — customer levels, delayed crediting, expiry reminders.
- Compatibility
- OpenCart 2.3, 3.0.x and 4.0.2 – 4.1.x
- Version
-
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3) - Licence
- one site, lifetime
- Trial
- 7 days, no card, one per site
- Updated
- September 2026
The module in action — 44 sec
Clear even without sound: Ukrainian subtitles
What Free has,
and what Pro adds
The free version works with no time limit. Pro adds the rest of the features in the table.
What it looks like

The trial starts when you ask
A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — one site
Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. If our server is unreachable, Pro keeps working for 14 more days. For studios — keys for 5 or 25 sites, or unlimited.
Technical requirements
OpenCart 4.0.2 – 4.1.x (tested on 4.1.0.3), 3.0.x (tested on 3.0.5.0) or 2.3.0.2
PHP 8.0+ for OpenCart 4, 7.3+ for OpenCart 3, 7.0+ for OpenCart 2.3
No core file edits. OpenCart 4 — the standard extension installer; OpenCart 3 and 2.3 — an ocmod archive
Works with both mysqli and pdo (DB_DRIVER)
Expiry and reminders need a cron — either OpenCart 4’s built-in cron or a separate cron entry with the key from the settings
Version history
For OpenCart 4.x, 3.x and 2.3: cashback for completed orders, paying with points as a separate totals line, welcome bonus, expiry with FIFO spending, the “My points” account page, the…
Frequently bought with Loyalty Points & Cashback for OpenCart
4 modules in one order — 40% cheaper than separately


Nova Poshta Premium — a Nova Poshta module for OpenCart 2.3, 3.x and 4.x

LiqPay — Card Payments for OpenCart 2.3, 3.x and 4.x

Telegram notifications and Viber/SMS for customers for OpenCart
Full module description
Loyalty Points & Cashback for OpenCart is a loyalty programme for stores on OpenCart 2.3, 3.x and 4.x. A completed order gives the customer back a share of the goods value in points, and next time those points pay part of the cart — as a separate line in the totals, just like a coupon. Points live in their own ledger: the balance is never a number someone edited, and every point can be traced back to an order.
Why another loyalty module. OpenCart’s built-in reward points credit a fixed number of points per product: no percentage of the order, no expiry, no customer levels, no history page for the customer, and no list of balances for the admin. Here cashback is a percentage, every credit has its own term, and points spent reduce the tax base exactly as a discount does. The same module runs on 2.3, 3.0 and 4.1 — with no core file edits.
How it works, step by step
- The customer registers and immediately receives the welcome bonus you configured (0 = no bonus).
- Adds an item to the cart and sees how many points the order will earn and how many can be spent right now. Guests get the forecast and a link to sign in.
- Spends points. The module checks three limits: the balance, the percentage of the order and the minimum order for spending. A separate “Paid with points (N)” line appears in the totals.
- Places the order. Points are taken when the order first enters the store’s working status, not the moment the button is pressed — unfinished carts never touch the balance.
- The order becomes Complete and cashback comes back: a percentage of the goods value without tax and shipping, less discounts and the amount paid with points. Writing the same status again creates no duplicate.
- The order is cancelled or refunded — points spent come back in full and the cashback is taken away. If the customer has already spent part of that cashback, only what is left is removed: the balance never goes negative.
- Points expire by the term of each credit separately. Expired points drop out of the balance even before the cron runs — the cron only writes the “Expired” line into the history.
What it costs
890 UAH — one payment, a licence for good. No yearly fees: the module and its Pro features stay yours. One licence covers all three builds — OpenCart 4.x, 3.x and 2.3.
Trial first, payment later. A 7-day free Pro trial starts from the module settings with an e-mail address, no card needed. A fresh install is a clean Free version; nothing switches itself on. When the trial ends the Pro fields lock, but the levels and terms you saved are not wiped: after payment everything comes back as it was.
Under the hood
- A ledger table
cc_loyalty_txn: the balance is the sum of its rows, not a field someone “fixed”. Every credit knows its expiry date and what is left of it, and spending is FIFO — the points that expire soonest go first. - Paying with points is its own order total with sort order 4, like a coupon: tax is calculated after the points, and the order and the receipt show an ordinary discount line.
- Idempotent. A repeated status write, a double callback or a second cancellation duplicate nothing: each operation on an order is recorded once.
- Not enough points at confirmation — the order does not silently swallow the difference: it gets the shop’s fraud status or, if none is set, the first of the statuses on which cashback is taken back.
- Deleting the module does not wipe the ledger: customers’ points are a promise the store made, so the table stays.
- The SMS gateway token is never printed back into the form: the page only shows that one is stored.
- Languages: Ukrainian and English — admin and storefront.
Installation
- OpenCart 4: Extensions → Installer → upload
cc_loyalty.ocmod.zipand click Install. OpenCart 3: Extensions → Installer →cc_loyalty-oc3.ocmod.zip. OpenCart 2.3: the stock 2.3 installer copies files only over FTP, so upload the contents ofupload/fromcc_loyalty-oc2.ocmod.zipto the shop root manually, then Refresh in Modifications. - Extensions → Extensions → Modules → CatCode Loyalty Points & Cashback → Install, then Edit.
- Enable the programme, set the cashback percentage, the welcome bonus and the cap on paying with points, and save.
- Add a cron job for the URL shown in the settings (the key is there too) so expiry and reminders run.
- For Pro: “Try Pro” → an e-mail for the trial, or your key after purchase.
Questions
about the module
Didn't find the answer? Message us on Telegram and we'll reply within a business day.
How is this different from OpenCart's built-in reward points?
Built-in points are a fixed number per product — no percentage, no expiry, no history page for the customer and no list of balances in the admin. Here cashback is a percentage of the order, it has a term, customer levels and a full ledger.
What happens to tax when a customer pays with points?
Points go into a separate totals line next to coupons, so tax is calculated on the amount after they are deducted — exactly as with a discount.
The customer cancelled an order after spending the cashback.
Points spent come back in full and the cashback is taken away up to what is left. If it has already been spent, the balance does not go negative.
Does the licence need renewing?
No. For OpenCart the licence is a one-off payment and lasts for good; updates and support are included.
What happens if I delete the module?
The points ledger stays in the database. Install the module again and the balances are still there.
No reviews yet. Be the first.
No questions yet. Ask one — we answer within 24 hours.
Not quite what you are looking for?
We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.
Order a custom module
Buying the module
—