Get in touch
  • WordPress
  • Sales and conversion
  • v1.0.0

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.

Download Free
Pro · one-year licence The more sites, the less each one costs
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
Or all 144 Pro modules with All Access — 4 990 ₴ / year

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.

Feature Free Pro
Cashback in points for completed orders — a percentage of the goods value without tax and shipping ✔ ✔
You choose the statuses that credit cashback and the ones that take it back ✔ ✔
Paying with points as a taxable negative totals line: tax goes down with it ✔ ✔
Works on the classic cart and checkout and on the Cart and Checkout blocks ✔ ✔
Spending limits: percentage of the order, the value of one point, minimum order ✔ ✔
Welcome bonus for a new customer account ✔ ✔
Points expiry: its own term for every credit, FIFO spending ✔ ✔
Points returned on cancellation, refund and failed payment ✔ ✔
A "Points for this purchase: +N" label on the product page ✔ ✔
Cart block: balance, the forecast for this order and the spending cap ✔ ✔
A "My points" page in My Account with the full history ✔ ✔
Customer balances in the admin: search, history, manual credit and debit with a comment ✔ ✔
An order note for every movement of points ✔ ✔
A ledger in its own table — the balance is never edited by hand ✔ ✔
HPOS (custom order tables) compatible ✔ ✔
Customer levels by total spent, each with its own cashback percentage — ✔
Delayed crediting: cashback becomes spendable after N days — ✔
Expiry reminders by e-mail and Viber/SMS through TurboSMS — ✔
CSV export of balances — ✔

What it looks like

Points for this purchase label on a WooCommerce product page
On the product page — a "Points for this purchase: +110" label. The customer sees the benefit before the cart; the label can be switched off in the settings.
Paying with points in the WooCommerce cart and the Paid with points line in the totals
The cart shows the balance, the forecast for this order and the spending cap. “Use the maximum” fills it in, “Do not use points” clears it. The totals get a “Paid with points (450) −₴450.00” line — the same on the block cart and on the classic one.
My points page in the WooCommerce account
“My points” in My Account (/my-account/loyalty-points/): available balance, the nearest expiry date, the current cashback percentage and the full history with comments and order numbers.

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

v1.0.0 Current September 2026

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

“Store starter” bundle Loyalty Points & Cashback Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 144 modules in All Access for 4 990 ₴.
3 490 ₴ / year instead of 5 860 UAH bought separately
Buy the bundle →

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

  1. The customer registers and immediately receives the welcome bonus you configured (0 = no bonus).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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_DATA constant.
  • 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

  1. Plugins → Add New → Upload Plugin → catcode-loyalty-points-for-woocommerce.zip → Install and Activate. WooCommerce must be active.
  2. WooCommerce → Loyalty points → tick “Enable the loyalty programme” and set the cashback percentage.
  3. Save — the “My points” page appears in My Account.
  4. Check that a cron is running (for expiry and reminders) if WP-Cron is disabled on your site.
  5. 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.

@catcode_support Setup, compatibility, activation
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.

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