Title: CatCode Conditional Shipping and Payment Rules for WooCommerce
Author: CatCode
Published: <strong>September 25, 2026</strong>
Last modified: September 25, 2026

---

Search plugins

![](https://ps.w.org/catcode-conditional-shipping-and-payment-rules-for-woocommerce/
assets/banner-772x250.png?rev=3712457)

![](https://ps.w.org/catcode-conditional-shipping-and-payment-rules-for-woocommerce/
assets/icon-256x256.png?rev=3712457)

# CatCode Conditional Shipping and Payment Rules for WooCommerce

 By [CatCode](https://profiles.wordpress.org/catcodestudio/)

[Download](https://downloads.wordpress.org/plugin/catcode-conditional-shipping-and-payment-rules-for-woocommerce.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/catcode-conditional-shipping-and-payment-rules-for-woocommerce/)

## Description

WooCommerce shows every shipping method and every gateway that fits the zone. Real
shops often need less than that: no cash on delivery for guests, free pickup only
for wholesale accounts, no courier for small orders, a separate set of gateways 
for customers abroad.

This plugin turns that into rules you can read: **hide** (or **keep only**) these
shipping methods or these payment gateways **when** the cart in front of you looks
like this.

**Conditions**

 * Customer role — including “guest” (anyone not logged in) and “any logged-in customer”.
 * Country — the shipping country, or the billing country in shops that do not ship.
 * Cart total — from / to, including or excluding tax, goods only or goods plus 
   shipping (for payment rules).

Every filled-in condition has to hold. An empty condition is not a condition — it
is simply not checked.

**As many rules as you need**

Rules run in priority order, lowest number first, and each one narrows what is left—
a later rule cannot bring back a method an earlier one removed. Every rule can be
switched off without deleting it.

**Both checkouts, one decision**

The classic checkout and the block checkout obey the same rules from the same PHP.
Shipping rates are filtered where WooCommerce calculates them. For payment gateways
the block checkout also asks on the client, and the answer it gets is the decision
PHP already made and sent along with the cart, so a hidden gateway is refused by
the Store API as well — it is not only hidden on screen.

**The shipping-rate cache**

WooCommerce caches the calculated rates in the session under a hash of the shipping
package. The shopper’s role, the plugin settings and the rules themselves are not
part of that package, so the plugin adds them as one extra key: the cache is refreshed
exactly when the answer changes, and saving the rules refreshes it for every visitor.

**Never a dead checkout**

If the rules would remove every shipping method or every gateway, the full list 
is handed back instead and a line goes into the log. You can switch that guard off
when “nothing available for this segment” is genuinely what you want.

**Other details**

 * Rules do not touch orders created by hand in wp-admin — they are about what a
   shopper may pick.
 * Optional log of every decision in WooCommerce  Status  Logs, source “ccsr”.
 * Compatible with High-Performance Order Storage (HPOS) and the Cart and Checkout
   blocks.
 * No external services, no tracking, nothing is sent anywhere.

## Installation

 1. Upload the plugin and activate it (WooCommerce must be active).
 2. Open WooCommerce  Shipping & payment rules.
 3. Edit the example rule or add your own: pick “Hide” or “Keep only”, pick the methods,
    fill in the conditions, switch the rule on and save.

## FAQ

### A method is still showing after I saved the rule

Rules only run on the storefront. Check that the rule is switched on, that the method
you picked is the one the zone actually offers (the picker shows the rate id in 
brackets), and that the conditions really match your test cart. Switch on the log
in the settings and look at WooCommerce  Status  Logs, source “ccsr” — every decision
is written there.

### Does it work with the block checkout?

Yes. Shipping methods are filtered on the server, so the block checkout sees the
same list. Payment gateways are filtered on the server as well, and the block checkout
is told the same decision through the Store API, because that checkout decides on
the client too.

### I hid everything and now nobody can order

“Never leave the checkout with no method at all” is on by default and hands the 
full list back if the rules empty it. If you switched it off, switch it back on.

### Can I hide cash on delivery for guests?

Yes — that is the example rule the plugin ships with (switched off). Open it, switch
it on and save.

### Does it change shipping prices?

No. It decides which methods are offered; prices stay with WooCommerce and your 
shipping plugins.

### What happens to the settings when I delete the plugin?

Deleting the plugin from the Plugins screen removes its options (settings and rules).

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“CatCode Conditional Shipping and Payment Rules for WooCommerce” is open source 
software. The following people have contributed to this plugin.

Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

[Translate “CatCode Conditional Shipping and Payment Rules for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/catcode-conditional-shipping-and-payment-rules-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/catcode-conditional-shipping-and-payment-rules-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/catcode-conditional-shipping-and-payment-rules-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/catcode-conditional-shipping-and-payment-rules-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

 * While the Pro version is active, WooCommerce no longer lists this switched-off
   copy as incompatible with its features (HPOS, block checkout).

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.1**
 *  Last updated **17 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [checkout](https://wordpress.org/plugins/tags/checkout/)[conditional](https://wordpress.org/plugins/tags/conditional/)
   [payment](https://wordpress.org/plugins/tags/payment/)[shipping](https://wordpress.org/plugins/tags/shipping/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/catcode-conditional-shipping-and-payment-rules-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/catcode-conditional-shipping-and-payment-rules-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/catcode-conditional-shipping-and-payment-rules-for-woocommerce/reviews/)

## Contributors

 *   [ CatCode ](https://profiles.wordpress.org/catcodestudio/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/catcode-conditional-shipping-and-payment-rules-for-woocommerce/)