
Loyalty Points & Cashback for WooCommerce — points programme with checkout redemption
Cashback in points for completed orders and paying with points on the classic and block checkout. Pro — customer levels, expiry reminders.
- Compatibility
- WooCommerce 7.0+ · WordPress 6.2+ · PHP 7.4+
- Licence
- one site, annual
- Trial
- 7 days, no card, one per site
- Updated
- September 2026
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
WordPress 6.2+ · WooCommerce 7.0+ · PHP 7.4+
HPOS (custom order tables) — supported; tested with HPOS enabled
Classic cart and checkout plus the Cart / Checkout blocks — the points field works in both
WP-Cron or a system cron — for expiry and the Pro reminders
Viber/SMS reminders (Pro) need a TurboSMS account; e-mail goes through the standard WordPress mailer
Version history
Cashback for completed orders, paying with points on the classic and block cart and checkout, welcome bonus, expiry with FIFO spending, the “My points” page, the product label, balances and…
Frequently bought with Loyalty Points & Cashback for WooCommerce
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 WooCommerce is a loyalty programme for WooCommerce stores. 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 negative line in the totals, just like a discount. 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 points plugin. The popular free ones either cannot do cashback as a percentage of the order, or have no expiry and no customer levels, or show the points field only on the classic checkout and quietly disappear on the block one. Here paying with points works on the classic cart and checkout and on the Cart and Checkout blocks, and the points spent reduce tax because they go in as a taxable negative line, not as a hidden repricing of the products.
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 plugin checks three limits: the balance, the percentage of the order and the minimum order for spending. A negative “Paid with points (N)” line appears in the totals, and tax goes down with it.
- Places the order. The points are taken the moment the order is placed, so they cannot be spent twice in two parallel carts. The order keeps a note about it.
- The order becomes Completed and cashback comes back: a percentage of the goods value without tax and shipping, less coupons and the amount paid with points. Writing the same status again creates no duplicate.
- The order is cancelled, refunded or its payment fails — the points come back and the cashback is taken away up to what is left. If the customer pays on the second attempt, the points are taken again.
- 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 and sends the Pro reminders.
What it costs
890 UAH per year for one site. Updates and support are included for the whole licence term; when it ends the plugin and its Pro features keep working; only updates and support stop. There is a discounted 2–5 year scale — the term is chosen on the payment page.
Trial first, payment later. A 7-day free Pro trial starts from the plugin 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
wp_catcode_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 a taxable negative fee with its own meta on the line: in the order, the invoice and a fiscal receipt it reads as an ordinary discount, not as a repriced product.
- Idempotent. A repeated status change, a double payment callback or a second refund duplicate nothing: each operation on an order is recorded once.
- Two carts at once. If a customer places two orders with the same points, the second gets a partial deduction and a note in the order — checkout is not blocked and the balance never goes negative.
- Deleting the plugin does not wipe the ledger: customers’ points are a promise the store made. The table can be dropped deliberately with the
CATCODE_LOYALTY_DROP_DATAconstant. - The TurboSMS token is never printed back into the form; saving with an empty field keeps the stored token.
- Translations: Ukrainian and English, full .po/.mo shipped with the plugin.
Installation
- Plugins → Add New → Upload Plugin →
catcode-loyalty-points-for-woocommerce.zip→ Install and Activate. WooCommerce must be active. - WooCommerce → Loyalty points → tick “Enable the loyalty programme” and set the cashback percentage.
- Save — the “My points” page appears in My Account.
- Check that a cron is running (for expiry and reminders) if WP-Cron is disabled on your site.
- For Pro: the Licence tab → an e-mail for the 7-day 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.
Does it work on the block checkout?
Yes. The points field is on the classic cart and checkout and on the Cart and Checkout blocks; an order placed through the Store API gets the same line and the same note.
What happens to tax when a customer pays with points?
Points go in as a taxable negative totals line, so tax is calculated on the amount after they are deducted — exactly as with a coupon.
The customer cancelled an order after spending the cashback.
The points come back and the cashback is taken away up to what is left. If it has already been spent, the balance does not go negative.
Is it HPOS compatible?
Yes, the plugin declares compatibility with custom order tables and was tested with HPOS enabled.
What happens if I delete the plugin?
The points ledger stays in the database. Install the plugin again and the balances are still there. To remove the data too, add the CATCODE_LOYALTY_DROP_DATA constant to wp-config.php before deleting.
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
—