- $USD
- English (United States)
- Hire an Expert
- Get Support
- Blog
- How To Restrict Payment Options By Shipping Methods

For eCommerce store owners managing a range of customers with different purchasing behaviors, controlling which payment options appear at checkout based on the shipping method a customer selects is one of those operational details that matters more than it might initially seem.
Offering every payment option to every customer regardless of their shipping selection creates situations that are either operationally problematic or simply do not make sense. Cash on delivery being available when a customer has selected free shipping is a common example. A store absorbing the cost of free shipping while also processing a cash on delivery order that carries its own handling overhead is taking a double hit on margin that a simple restriction rule could prevent entirely.
Getting this right creates a cleaner checkout experience for customers who only see payment options that are actually applicable to their order and a more manageable operational reality for the store.
Why Restricting Payment Methods by Shipping Method Makes Sense
The connection between shipping method and payment method is more significant than most store owners account for when setting up their checkout for the first time.
Different shipping methods carry different cost structures, different fulfillment timelines, and different operational requirements and the payment options that make sense alongside each one vary accordingly:
- Cash on delivery logically only applies to local delivery or specific carrier arrangements where physical payment collection is possible. Showing it as an option when a customer has selected international shipping or a standard postal service creates confusion and potentially orders that cannot be fulfilled as placed
- Bank transfer or invoice payment is often appropriate for larger or wholesale orders but less so for small standard retail shipments where the processing overhead of a bank transfer does not justify itself
- Buy now pay later options may have minimum or maximum order value requirements that only apply to certain order types which can be tied to specific shipping methods
- Free shipping promotions often need to be paired with specific payment options to remain commercially viable for the store
What we have observed is that stores which thoughtfully restrict payment options based on shipping method selection produce fewer post-order complications, fewer customer service queries about payment and delivery combinations that do not work together, and a cleaner checkout experience overall.
The Right Plugin for This in WooCommerce
For WooCommerce stores the most practical and properly built solution for managing payment and shipping method relationships through conditional rules is the Conditional Shipping and Payment Methods plugin by Extendons.
Rather than applying blanket restrictions that affect every customer regardless of context, this plugin uses a rule-based system where each rule evaluates specific conditions and triggers a specific action when those conditions are met. Rules run independently of each other so multiple rules covering different payment and shipping combinations can coexist without conflicts.
The rule system supports both AND logic, where every condition in a rule must be met simultaneously for it to trigger, and OR logic, where the rule triggers if any one of the conditions is met. This combination gives store owners the ability to handle straightforward one-condition restrictions and more nuanced multi-condition scenarios within the same interface.
How to Set Up Payment Restrictions by Shipping Method
Here is how the configuration works in practice using the Extendons Conditional Shipping and Payment Methods plugin:
Step 1: Install and Activate the Plugin
- Purchase the plugin from the WooCommerce Marketplace and download the ZIP file from your WooCommerce account
- In WordPress admin go to Plugins > Add New > Upload Plugin
- Upload the ZIP file, click Install Now, then Activate Plugin
- Before building any rules confirm that all shipping and payment methods you want to manage are already enabled under WooCommerce > Settings > Shipping and WooCommerce > Settings > Payments
- Navigate to WooCommerce > Settings > Payment and Shipping Settings where the plugin configuration lives
Step 2: Create a New Payment Gateway Rule
- Go to the Payment Gateways tab and click Add New Rule
- A configuration popup will appear where you define the rule
Step 3: Configure the Rule Settings
Work through the following fields:
- Rule Name: Give the rule a clear and descriptive name that identifies what it does at a glance. Something like "Hide COD for Free Shipping" or "Restrict Bank Transfer to Standard Delivery" makes the rule list scannable without needing to open each rule to understand its purpose
- Target Gateways: Select the payment method or methods this rule should control
- Action Type: Choose from:
- Hide Only These Gateways: The selected payment methods disappear when conditions are met
- Show Only These Gateways: Only the selected methods appear when conditions are met, everything else is hidden
- Prevent Order Submission: Blocks the order from being submitted entirely when conditions are met
Step 4: Set the Conditions
- Choose AND or OR logic depending on whether all conditions need to be true simultaneously or just one
- Select Shipping Method from the available condition options
- Choose the specific shipping method that should trigger this rule
- Add any additional conditions if needed, for example combining a shipping method condition with a cart total condition to create a more targeted rule
Step 5: Save and Test
- Click Save Rule to make it active
- Test the rule by going through checkout as a customer, selecting the shipping method the rule targets, and verifying that the correct payment methods appear or disappear as configured
Practical Examples Worth Setting Up
Hiding Cash on Delivery for Free Shipping
This is the most common use case and the most straightforward to configure. Create a rule that hides the cash on delivery payment method when the shipping method equals your free shipping option. Any customer who selects free shipping will not see the cash on delivery option. Customers using other shipping methods see it normally.
Restricting Bank Transfer to Specific Shipping Methods
If bank transfer is only viable for certain order types tied to specific shipping arrangements, create a rule that shows bank transfer only when the relevant shipping method is selected. All other customers never see it as an option.
Hiding Express Payment Options for Economy Shipping
For stores where certain payment methods are only appropriate for higher-value or priority shipping selections, a rule that hides those payment methods when economy or standard shipping is selected keeps the checkout logic consistent with how those payment and shipping combinations actually work operationally.
Combining Shipping Method and Cart Total Conditions
For more nuanced restrictions, the AND logic within a single condition group lets you combine a shipping method condition with a cart total condition. A rule that hides a specific payment method when free shipping is selected AND the cart total is below a certain threshold is more targeted than a shipping method restriction alone and reflects the actual commercial logic behind the restriction more accurately.
Other Conditions the Plugin Supports
Beyond shipping method restrictions the plugin covers a broad range of additional condition types for both payment gateway rules and shipping method rules:
- Cart Total: Show or hide payment methods based on the order value
- Order Weight: Restrict options based on the total weight of the cart
- Cart Item Count: Apply rules based on how many items are in the order
- User Role: Show different payment options to wholesale customers, registered members, or guest customers
- Product or Category: Restrict payment methods based on what products are in the cart
- Billing or Shipping Location: Control payment visibility by country, state, city, or postcode
- Coupon Code: Adjust payment method availability based on applied coupon codes
- Product on Sale: Manage payment options when sale items are in the cart
- Backorder: Control checkout behavior when backordered products are present
Each of these can be combined with the shipping method condition using AND logic within a single rule to create precise restrictions that reflect the actual operational logic of the store rather than broad blanket rules that affect more customers than intended.
A Few Things Worth Getting Right
Name rules clearly from the start
A rule list with descriptive names like "Hide PayPal for Local Pickup" or "Show Bank Transfer for Freight Shipping Only" is easy to manage and audit. A list of rules with generic names requires opening each one to understand what it does which becomes time-consuming as the number of rules grows.
Test every rule from the customer side
After creating a rule open a fresh browser session and go through the checkout as a customer who should trigger the rule. Verify the correct payment methods appear or disappear and that no unintended methods are being affected. Edge cases in rule logic are easy to miss during configuration and frustrating for customers to encounter.
Review rules periodically
Shipping methods and payment providers change over time. A rule that was correctly configured for a previous shipping setup may produce incorrect behavior after a shipping method is renamed, replaced, or restructured. Building a periodic review of active rules into the store's maintenance schedule prevents outdated rules from quietly causing checkout problems.
Conclusion
Restricting payment options by shipping method is one of those checkout optimizations that has a quiet but consistent positive effect on how the store operates and how customers experience the checkout process. Customers see only the payment options that actually make sense for their order and the store avoids the operational complications that come from payment and shipping combinations that do not work well together.
The Conditional Shipping and Payment WooCommerce plugin by Extendons handles this through a rule-based system that is flexible enough to cover straightforward single-condition restrictions and complex multi-condition scenarios without requiring any custom development. For WooCommerce stores where payment and shipping method relationships matter to how the business actually operates, getting these rules properly configured is a worthwhile setup investment that pays off in fewer post-order complications and a cleaner checkout experience for every customer.
Share Article

30-day money back guarantee
Dedicated Support Team
Safe & Secure Free Update
Safe Customized Solutions