Get in touch
  • OpenCart
  • Shipping
  • v1.0.0

Conditional Shipping & Payment Rules for OpenCart — show shipping and payment methods by condition

Hide or keep only the shipping and payment methods you want by customer group, region, city, postcode, cookie, cart total, weight and cart contents. OpenCart 4, 3 and 2.3, the standard checkout and One Page.

Download Free
Pro · lifetime licence The more sites, the less each one costs
Compatibility
OpenCart 4.0.2 – 4.1.x, 3.0.x and 2.3.0.2 (tested on 4.1.0.3, 4.0.2.3, 3.0.5.0, 2.3.0.2) · standard checkout and One Page Checkout (CatCode)
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
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
"Hide" and "Keep only" actions for shipping methods and payment methods ✔ ✔
Active rules 1 unlimited
Conditions: customer group, "guest", "logged in", country, cart total from / to ✔ ✔
Standard checkout and One Page Checkout (CatCode) ✔ ✔
A hidden method passes neither the method choice nor the confirm step ✔ ✔
"Never leave the checkout with no method" guard ✔ ✔
Decision log in system/storage/logs ✔ ✔
Languages: English, Ukrainian, Russian ✔ ✔
OpenCart region (zone) and geo zone — ✔
City and postcode (exact, 02*, range 03000...03199) — ✔
Site cookie condition: name, !name, name=value, name=abc* — ✔
Cart weight and item count — ✔
Category, manufacturer and product IDs in the cart — ✔
Payment rules by the chosen shipping method — ✔
Date range — ✔
Rule priority and "any condition is enough" — ✔

What it looks like

OpenCart 4 checkout: a guest does not see cash on delivery — a rule hid it
One Page Checkout (CatCode) on OpenCart 4.1, guest customer: the free rule “hide cash on delivery for guests” removed Cash On Delivery — bank transfer and cheque stay. Switch the module off and cash on delivery is back.
"Rules" tab: a rule card with the action, payment methods, priority and free conditions
A rule card: “Payment methods” → “Hide” → Cash On Delivery, priority, how conditions combine and the free conditions — customer group, country, cart total.
Pro conditions of a rule: region, geo zone, city, postcode, cookie, weight, quantity, category, manufacturer, products, chosen shipping method, dates
Pro conditions: region and geo zone, city, postcode, site cookie, weight and quantity, category, manufacturer, product IDs, the chosen shipping method, a date range.

Key points

What the customer sees

The customer sees nothing special — and that is the point. They simply get a shorter, correct list.

What the admin gets

Extensions → Modules → Conditional Shipping & Payment Rules. Three tabs: “Rules”, “Settings”, “Licence”.

How much it costs

UAH 990 — a one-time payment, lifetime licence. No yearly fees: the module and its Pro features stay yours.

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 and 4.0.2.3), 3.0.x (tested on 3.0.5.0) or 2.3.0.2
  • PHP — whatever your OpenCart version needs; the code is checked on PHP 5.6, 7.0 and 8.3
  • No core file edits and no OCMOD modifications: OpenCart events only; no own tables
  • Checkout: the standard one and One Page Checkout (CatCode). On OpenCart 3 and 2.3 the filter works where the theme renders the stock shipping and payment blocks; third-party checkouts with their own templates (Simple, Journal Quick Checkout) were not tested
  • Multi-store: the rules are shared by all storefronts
  • Languages: Ukrainian, Russian, English

Version history

v1.0.0 Current

For OpenCart 4, 3 and 2.3: “hide / keep only” rules for shipping and payment methods; conditions on customer group, country, region, geo zone, city, postcode, cookie, total, weight,…

Frequently bought with Conditional Shipping & Payment Rules for OpenCart

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Conditional Shipping & Payment Rules Nova Poshta Premium LiqPay Telegram notifications and Viber/SMS for customers Need more — all 144 modules in All Access for 4 990 ₴.
3 590 ₴ lifetime instead of 5 960 UAH bought separately
Buy the bundle →

Full module description

Conditional Shipping & Payment Rules for OpenCart shows each customer only the shipping and payment methods that actually fit them. OpenCart offers everything that matches the geo zone. A real shop needs less than that: no cash on delivery for guests, courier for one region only, no pickup for a heavy basket, one set of options for the wholesale group, its own option for a school or a dealer that arrives through its own link.

The module turns that into rules you can read: hide (or keep only) these shipping methods or these payment methods when the cart and the customer look like this.

What the customer sees

The customer sees nothing special — and that is the point. They simply get a shorter, correct list. They change the region in the address and the shipping list is different. They pick the courier and cash on delivery disappears. They pick pickup and it is back, if that is how you set it up.

  • Guests and customers with an account see different sets: for example, cash on delivery only for people who already bought and have an account. OpenCart customer groups (wholesale, retail, VIP) are a condition too.
  • A school, a dealer, a partner. Your site sets a cookie when someone arrives through their own link, and at checkout they see only their own delivery option.
  • A hidden method cannot be forced through. A request that bypasses the page with a hidden method is refused by the OpenCart core as “method required”, and no order is created. And if a condition changed after the choice (a cookie, the date), the confirm step shows a warning instead of the payment button and asks to pick a method again.

What the admin gets

Extensions → Modules → Conditional Shipping & Payment Rules. Three tabs: “Rules”, “Settings”, “Licence”. Each rule is a card: what it is for (shipping or payment), what to do, with which methods, under which conditions.

  • Two actions: “Hide” removes the chosen methods, “Keep only” removes everything except them.
  • A whole extension or one option: tick the extension (flat, pickup, cod) or type an option code (flat.flat, nova_poshta.nova_poshta).
  • Priority: rules run from the lowest number up, and each one only narrows the list. A later rule cannot bring back what an earlier one removed — the behaviour is easy to predict.
  • “All conditions” or “any” — your choice for each rule. An empty condition is not checked.
  • Notes on the cards: a rule without methods, a rule without conditions, a rule with a Pro condition on Free, a second rule on Free — all marked right in the editor.
  • Editing an order in the admin is not touched by the rules: the manager sees every method.

How it works, step by step

  1. The customer reaches the shipping step. OpenCart collects the methods available for their address and geo zone, including those added by carrier modules.
  2. The module takes a snapshot: customer group or guest, the address (country, region, city, postcode), the cookies your rules read, the total, weight and quantity, categories, manufacturers and product IDs, the chosen shipping method, today’s date.
  3. Rules run in priority order. Each one whose conditions hold hides its methods or keeps only them.
  4. If no method is left and the guard is on, the customer gets the full list and a line goes to the log.
  5. Saving a method checks the same filtered list, so a hidden method cannot be chosen.
  6. At the confirm step the module checks the chosen methods against the rules once more — in case the cookie, the date or the group changed after the choice.

How much it costs

UAH 990 — a one-time payment, lifetime licence. 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.

One key — one domain. Moving the shop? Detach the licence on the old domain with the button on the “Licence” tab and activate it on the new one.

Trial first, payment later. A free 7-day Pro trial starts on the “Licence” tab with your e-mail, no card needed. A fresh install is the plain Free version; nothing switches on by itself.

Under the hood

  • OpenCart 4: the filter hooks the shipping and payment method models, so any checkout that takes the list from the core gets it, and saving a method checks the already filtered list.
  • OpenCart 3 and 2.3: the list is filtered before the shipping and payment blocks are rendered and written back to the session — a hidden method does not pass the save.
  • Event order: the module runs after the carriers’ own filters, so it sees and narrows the finished list.
  • Cart total — the products subtotal without or with tax, in the store’s default currency; coupons, vouchers and shipping are not included.
  • An honest free tier. A rule that relies on a Pro condition does not run on Free at all, rather than running “without that condition”. Otherwise “no courier for Lviv” would turn into “no courier for anyone” after the trial.
  • Cheap conditions first: database queries (categories, manufacturers, geo zones) run only when the cheaper conditions have already matched.
  • Uninstall removes the module’s events and settings.

How to install

  1. OpenCart 4: Extensions → Installer → upload cc_condrules.ocmod.zip (keep the archive name) and click “Install”. OpenCart 3: Extensions → Installer → cc_condrules-oc3.ocmod.zip. OpenCart 2.3: upload the contents of the upload/ folder from cc_condrules-oc2.ocmod.zip to the store root (FTP or the hosting file manager).
  2. Extensions → Extensions → Modules → Conditional Shipping & Payment Rules → “Install”, then “Edit”.
  3. “Rules” tab → “Add rule”: shipping or payment, “Hide” or “Keep only”, methods, conditions. On the “Settings” tab enable the module and save.
  4. Open the checkout in a private window (as a guest) and with an account — check that the list changes the way you intended.
  5. For Pro: the “Licence” tab → e-mail for the trial or the 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
I saved the rule but the method is still showing. Why?

Check three things: the module is enabled on the Settings tab, the rule itself is enabled, and the conditions really match your test cart. Switch on the log — every removed method is written to system/storage/logs/cc_condrules.log.

Does it work with One Page Checkout?

Yes, with our One Page Checkout (CatCode) on OpenCart 4, 3 and 2.3 — tested together with the Nova Poshta, Ukrposhta and ROZETKA Delivery widgets. On OpenCart 4 the filter sits on the core model, so any checkout that takes the method list from the core gets it.

I hid everything and now nobody can order.

The "Never leave the checkout with no method" guard hands the full list back if the rules empty it. It is on by default in the settings — if you switched it off, switch it back on.

Can I hide cash on delivery for one region only?

Yes, in Pro: "Payment methods" → "Hide" → pick cash on delivery, then in the Region condition pick the country, the region and click "Add".

Does it change shipping prices?

No. It decides which methods are offered. Prices stay with OpenCart and your shipping modules.

What happens when the trial ends?

The first enabled rule with the free conditions keeps working. Rules that use Pro conditions are kept but skipped until a licence is active: without its condition such a rule would hide more than you asked for.

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