Introduction
Conditional Checkout for WooCommerce allows you to control how checkout behaves by applying conditional rules to payments, shipping destinations, and order validation.
Instead of hiding checkout fields or modifying WooCommerce core behavior, the plugin validates conditions when the customer places an order and displays a custom notice if the rule is violated.
This approach ensures full compatibility with WooCommerce Checkout Blocks and avoids UX issues.
Plugin Overview
The plugin settings are organized into four dedicated tabs:
- Conditional Payments
- Conditional Shipping Method
- Conditional Shipping Destinations
- Conditional Billing, Shipping, Note Fields
Each rule is evaluated independently and only affects the components you explicitly configure.
1. Conditional Payments
Conditional Payments allows you to control the availability of payment gateways based on defined conditions.
What you can do
- Enable or disable specific payment methods conditionally
- Apply rules based on cart, customer, or shipping data
- Affect only the selected gateways
- Leave all other payment gateways untouched
How it works
When checkout is loaded or updated, payment gateways are filtered based on the rule conditions.
If a rule applies, only the selected gateways are modified.
Common use cases
- Disable Cash on Delivery for high-value orders
- Allow bank transfer only for specific customer roles
- Restrict certain gateways by country or state
This feature is compatible with WooCommerce Payments and all third-party gateways.
Example Use Cases
Disable Direct bank transfer when the cart total is greater than $500
How to Set Up
- Go to WooCommerce → Settings → Conditional Checkout
- Open the Conditional Payments tab
- Click Add New
- Configure:
- Action: Hide
- Payment Gateways: select Direct bank transfer
- Switch to the Conditional Rules tab
- Add a condition:
- Type: Cart total
- Compare: Greater than ( > )
- Value: 500
- (Optional) Add a message in Conditional Notice
- Click Save

2. Conditional Shipping Method
Conditional Shipping Method allows you to control which shipping methods are available based on checkout conditions.
Key behavior
- Shipping methods are conditionally enabled or disabled
- Only selected shipping methods are affected
- Other shipping methods remain available
- Conditions are evaluated dynamically
Supported logic examples
- Disable Free Shipping when cart weight exceeds a limit
- Allow Local Pickup only for specific countries or states
- Restrict certain shipping methods to specific products or categories
This ensures flexible shipping logic without interfering with WooCommerce shipping zones.
3. Conditional Shipping Destinations
Conditional Shipping Destinations validates the customer’s selected shipping country and state.
Important design choice
- Countries and states are NOT hidden from checkout
- Customers can still select any destination
- Validation occurs when the customer places the order
- If the destination is not allowed, checkout is blocked with a clear notice
Why validation instead of hiding?
Hiding countries or states dynamically can break:
- WooCommerce Checkout Blocks
- Address validation logic
- Payment gateway availability
By validating on submit, the plugin ensures:
Full compatibility with Blocks and future WooCommerce updates
Stable checkout behavior
Clear feedback for customers
4. Conditional Billing, Shipping, Note Fields
This module allows you to apply conditional logic to checkout fields, including:
- Billing fields
- Shipping fields
- Order notes
What this feature does
- Mark fields as required or optional based on conditions
- Show validation notices when required data is missing
- Apply logic without removing or hiding fields from the checkout form
Examples
- Require company name for B2B customers
- Require phone number for specific shipping methods
- Prevent checkout if a note is required but not provided
This approach ensures consistent checkout behavior across:
WooCommerce Checkout Blocks
Classic Checkout (shortcode)