Document – Conditional Checkout for WooCommerce – Conditional Payment – Conditional Shipping – Conditional Checkout Fields

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:

  1. Conditional Payments
  2. Conditional Shipping Method
  3. Conditional Shipping Destinations
  4. 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

  1. Go to WooCommerce → Settings → Conditional Checkout
  2. Open the Conditional Payments tab
  3. Click Add New
  4. Configure:
    • Action: Hide
    • Payment Gateways: select Direct bank transfer
  5. Switch to the Conditional Rules tab
  6. Add a condition:
    • Type: Cart total
    • Compare: Greater than ( > )
    • Value: 500
  7. (Optional) Add a message in Conditional Notice
  8. 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)