To show a shipping method only when a specific payment gateway is chosen, use the Require Payment Gateways condition in Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything. This links each shipping method to the payment methods you trust, so you can, for example, reserve faster delivery for orders paid upfront by card.

Before you start #
- WooCommerce, active, with at least two payment gateways enabled so a restriction is meaningful.
- Conditional Shipping installed and enabled. This condition is free.
Step-by-step setup #
- Go to WPFactory > Conditional Shipping (also reachable at WooCommerce > Settings > Conditional Shipping).
- Open the Payment Gateways section.
- Tick Enable condition for Require Payment Gateways.
- Next to the shipping method you want to limit, select one or more active gateways. Only customers who have chosen one of those gateways will see that method.
- Leave a method’s value empty to apply no gateway rule to it.
- Save changes, then test at checkout by switching payment methods.
Note: gateway conditions are most reliable on the checkout page, where the customer’s current gateway is known. Away from checkout (for example on the cart page) the plugin falls back to the gateway stored in the session, then the store’s default gateway, then the first available gateway. On checkout the plugin re-checks the available methods whenever the customer changes the payment method, so the shipping list updates as they switch.
Options reference #
| Label | Option ID | Type | Default | Free/Pro |
|---|---|---|---|---|
| Require Payment Gateways (Enable condition) | wpjup_wc_cond_shipping_payment_gateways_incl_enabled |
Checkbox | No | Free |
| Required gateways, per shipping method | wpjup_wc_cond_shipping_payment_gateways_incl_method[{method_id}] |
Multiselect (active gateways) | Empty | Free |
| Additional notice (enable) | wpjup_wc_cond_shipping_payment_gateways_incl_notice[enabled] |
Checkbox | No | Free |
| Additional notice (content) | wpjup_wc_cond_shipping_payment_gateways_incl_notice[content] |
Text | %shipping_method% is not available. |
Free |
Use cases #
- Card-only express: require a card gateway on your fastest method, so prepaid orders get the quick option.
- Reduce risk on Cash on Delivery: require secure gateways on premium methods, leaving Cash on Delivery paired only with standard shipping.
- Gateway-specific fulfillment: route orders from one gateway to a method your workflow handles best.
Troubleshooting #
- The method appears with the wrong gateway on the cart page: this is expected. Off checkout the plugin cannot read the live gateway and falls back to the session, default, or first gateway. Verify the rule on the checkout page.
- The list does not update when I switch payment method: confirm you are on the checkout page, where the plugin re-checks methods on payment change.
- Need to exclude gateways instead: use the Exclude Payment Gateways condition in the same section.
Get more control #
This condition is free. Conditional Shipping for WooCommerce: Restrict Shipping Options by Anything Pro adds the “Use shipping instances” option, so you can set conditions per shipping-method instance (a specific Flat rate inside a specific zone) instead of globally per method type. See what Pro unlocks.
