30%
OFFLimited time
Make sure your store is healthy and ready forGet your store ready for Black Friday
Catalog Health Scanner for WooCommerce
Use code at checkout
Get 30% Off

WooCommerce Payment Gateways by Shipping Method

WooCommerce Plugin
5.0
3 Reviews
v1.6.0
Updated 1 month ago
800+
Stores Live
every shipping method, its own gateways ↓

Show the right payment for the shipping picked.

Hide Cash on Delivery on Express. Show wire transfer only on local pickup. Restrict SEPA to EU zones. The plugin maps every WooCommerce payment gateway to its allowed shipping methods, by method or by zone-method instance. $49.99/yr or $149 once.

14-day refund
Method + Instance modes
HPOS-ready
three things WooCommerce native can't do ↓

Every gateway, every shipping method. All of them, all the time.

Out of the box, WooCommerce shows every active payment gateway no matter which shipping method the customer picked. The moment your store offers next-day couriers, local pickup, or zone-specific shipping, you need to pair each payment method with the shipping it actually fits.

problem · 1

Cash on Delivery on a next-day courier.

⚡ Express overnightCOD shown✕ driver chases cash
🚚 Standard 3-5dCOD shown✓ that's fine
🏪 Local pickupCOD shown✕ pay-in-store mismatch

Native WooCommerce shows every payment option on every shipping method. Pay-on-delivery on overnight courier means a driver paid to chase cash on a $12 order, or worse, you eat the loss when nobody's home.

problem · 2

Wire transfer offered on a $12 same-day order.

checkout · same-day courier
🏦 Bank wire (5-7d to clear)
📝 Purchase order (net 30)
💳 Stripe (instant)
→ order stuck unpaid, courier idle

Bank transfer clears in 5-7 days. A same-day courier needs payment confirmed in minutes. Show both and customers pick the slow one because it has no card fee, then your fulfillment desk has 80 orders sitting "awaiting payment" while couriers wait.

problem · 3

The COD surcharge that never updated.

step 1Customer picks Flat rateCOD fee $5.00
step 2Switches to Local pickupfee still $5.00
step 3Charges customer at total$5.00 ghost fee
stale fee · refund request inevitable

Native WooCommerce caches the COD fee from the moment the page loaded. Customer switches shipping, the fee should change too. It doesn't. They get charged the old amount, notice on the receipt, open a ticket. Hours of support per week, easy to fix.

eight controls you'll use ↓

Every gateway. Every shipping method. Every zone.

The plugin handles four jobs: rule each gateway with an Include or Exclude list, scope it by method or by zone-method instance, refresh COD-style fees when shipping changes, and support every gateway WooCommerce knows about, including custom and regional ones.

rule · include or exclude

One rule list per gateway. That's the whole idea.

Every WooCommerce-registered gateway shows two new fields: Include or Exclude, plus the shipping list. Including custom in-house gateways.

mode · method or instance

Two modes, picked once for the whole store.

Most single-region stores use Method. Stores with regional rules (SEPA on EU, ACH on US, COD on local) use Instance.

zones · region-specific gateways

SEPA on EU, ACH on US, COD on local.

Instance mode means a method's name is no longer enough. The plugin uses the zone-method ID so SEPA on EU is a different rule from SEPA on rest-of-world.

fees · auto-recalculate

COD fee updates the moment shipping changes.

gateways · every one

Every WooCommerce gateway gets the rule fields.

Hooks WooCommerce's gateway registry. If a gateway is registered, the rule fields appear. No hardcoded vendor list, no waiting for plugin updates when a new gateway ships.

checkout · live refresh

Gateways update without a page reload.

No extra requests added. WooCommerce already fires an AJAX call on shipping change; the plugin reads the new method and updates the gateway list in the same response.

checkout · classic + blocks

Works on classic and the Cart/Checkout blocks.

stack · regional + custom

SEPA, ACH, Mollie, Klarna, Razorpay, custom.

The plugin doesn't care about the vendor. Whatever gateway your store registered with WooCommerce, the shipping-rule fields appear in its settings.

setup

Four steps. Live in under 10 minutes.

i · install

Activate the plugin

Upload the .zip from Plugins → Add New, then activate.

Payment Gateways by Shipping for WooCommerce Active
ii · pick a mode

Method mode or Instance mode

Method mode applies a rule to a shipping method wherever it appears. Instance mode is per zone-method, so Flat rate on EU differs from Flat rate on US. Most stores start with Method.

global mode Method
switch later? Anytime
iii · assign

Set Include or Exclude on each gateway

WooCommerce → Settings → Payments → click a gateway. Two new fields: rule type (Include or Exclude) and the shipping list. Save.

CODexclude Express ✓
Bank transferinclude Pickup ✓
Stripeall methods ✓
iv · test

Run a fake checkout

Add a cheap item, switch between every shipping method, watch the gateway list update without a page reload. Done.

how we stack up

Shipping-aware payment routing, without the conditional-logic tax.

WooCommerce
native · none
Booster Elite
free + Elite · pricing not specified
Business Bloomer · Disable Payments by Shipping
$29 once · unlimited sites
WPFactory
$49.99/yr · $149 once
core: gateway rules by shipping
Show / hide gateway by shipping method✕✓✓
Include AND Exclude modes per gateway✕enable onlydisable only
Per zone-method instance rules✕✓✓
Custom & in-house gateways-✓standard only
checkout behavior
Live AJAX refresh on shipping change✕✓not specified
Auto-recalculate COD fee on shipping switch✕not specified✕
Classic checkout supported-✓✓
WooCommerce Cart/Checkout Blocks-not specifiednot specified
platform
HPOS-ready-✓not specified
Filters & hooks for custom rules✕✓not specified
Multilingual (WPML / Polylang) safe-✓not specified
pricing & ownership
Free version on .org-✓✕
Lifetime tier-✕✓ $29 unlimited sites
Multi-store licensing-per site · Elite tier✓ unlimited sites
Refund window-not specified10-day
10-year cost$0not specified$29
50+ plugins (All Access)-✕✕
Ready to pair every gateway with its shipping? ↓ Jump to pricing
scroll →
three real stores ↓

Three businesses. Three shipping-to-gateway maps.

grocery delivery · COD risk

Grocery delivery · "No COD on next-day couriers."

A regional grocery store offers same-day local courier, next-day national, and weekend pickup. Cash on Delivery worked for local routes but kept failing on next-day national: nobody home, driver returns the cash. The plugin excludes COD from next-day, leaves it on local and pickup.

ModeMethod
COD ruleExclude · Next-day national, Express
Other gatewaysStripe and PayPal on every method

Failed-delivery rate on COD orders dropped from 11% to under 2%. Drivers stopped chasing cash on routes they shouldn't have been on in the first place.

B2B · invoice gating

B2B wholesaler · "Purchase orders only on pickup."

A wholesaler offers Net 30 purchase orders to known account holders, but only when they collect in person (so the account manager can sign off). Walk-up shipping orders had to prepay. Setting the PO gateway to Include only the Pickup · Account zone-method made the rule one click.

ModeInstance
PO gateway ruleInclude · Pickup · Account holders only
Cards / wireAvailable on every other method

PO abuse from non-account customers dropped to zero. Account managers stopped manually voiding orders that shouldn't have used a PO in the first place.

verified reviews

From stores running this right now.

Using the plugin? Leave a review on WordPress.org.

"Exactly what we needed to stop offering Cash on Delivery on overnight shipping. Easy setup, fast support."
M
Marco
Verified buyer
see review →
"Instance mode is what sold it. SEPA only on our EU zones, ACH only on US. No more failed bank debits."
L
Lena
Verified buyer
see review →
"Configured purchase-order gating in five minutes. Wholesale customers stopped abusing PO on walk-up orders. Worth the price."
D
David
Verified buyer
see review →
tested with

Works with every gateway and shipping method you've already got.

Platform

WP 4.4+WP 6.9WC 4.0+WC 10.7PHP 7.4+PHP 8.3HPOS-ready

Payment gateways

StripePayPalMollieKlarnaSezzleRazorpaySEPAACHChequeCODCustom

Shipping methods

Flat rateFree shippingLocal pickupTable RateUPS / FedExUSPSCustom

Checkout & plugins

Classic checkoutCart/Checkout BlocksWC SubscriptionsWPMLPolylangREST API
why this plugin

Built for stores where shipping and payment go together.

Every WPFactory plugin ships with the same eight guarantees. Here's what running this one looks like in practice.

Clean code, reviewed

Hooks into WooCommerce's payment-gateway registry and shipping-method registry instead of hardcoding vendor names. Reads the cart's chosen shipping on the existing AJAX cycle. No extra database tables, no background jobs.

Docs & specs, written

Every filter is documented (alg_wc_pgbs_available_gateways, alg_wc_pgbs_rule_match, plus instance- and method-mode filters). Method vs Instance mode explained with an example per side.

Support that ships

Email support replies fast (no auto-responder hand-wave). Real bug reports become releases within days, not quarters. Feature requests reviewed and shipped when they fit.

14-day money-back

14-day refund on yearly and lifetime, 30 days on All Access, no questions asked. If a custom gateway doesn't match your shipping zones the way you hoped, support helps; if it still doesn't fit, you walk away whole.

Bundle savings, real

All Access is $499 once for all 50+ plugins, lifetime, unlimited sites, and it includes every plugin we release later. Three lifetime licenses at $199 already cost $597, so the bundle usually wins by your third plugin.

Updates, regularly

v1.5.2 shipped recently. Tested against the latest WooCommerce within days of every release. HPOS-ready, PHP 8.3 compatible. Tracks WC's checkout-blocks roadmap so the rules apply on both classic and the new blocks.

Plays well with others

Compatible with WooCommerce Subscriptions, WPML, Polylang, table-rate shipping plugins, and most custom carrier integrations. Filters exposed for every rule evaluation step so custom logic slots in cleanly.

Designed for store owners

You don't need to think in terms of zone-method instance IDs. Pick a gateway, pick Include or Exclude, tick the shipping methods from a checklist, save. The plugin handles the rest on every checkout.

7 stores joined this week·2 in the last 24h
if you're going to keep this plugin a while ↓

Three tiers. Pick once.

14-day refund on yearly and lifetime, 30 days on All Access. Lifetime pays for itself by year 3. All Access pays for itself with any 2nd plugin you'd ever use. Yearly auto-renew can be turned off in your account.

PAYMENT GATEWAYS BY SHIPPING PRO
$149 once

Buy once. Owns itself by year 3. Use on every site you own.

  • Unlimited sites
  • Lifetime updates
  • Priority email support
  • 14-day refund
  • GPL-licensed · use on client sites
Buy Lifetime - $149 once
★ SMART MOVE ALL ACCESS · LIFETIME
$999$499oncesave 50%

This plugin + 49 others, lifetime updates, unlimited sites - for $300 more than Lifetime alone.

! Buying any 4 single lifetimes?
$596 → $499 / 50+
  • 50+ plugins, lifetime updates
  • Unlimited sites - every plugin
  • Future plugins included free, forever
  • Lifetime priority support
  • Pays back at 5th plugin you'd use
Explore All Access
How does the plugin decide which gateways to show?
You assign each payment gateway a list of allowed shipping methods (Include mode) or blocked shipping methods (Exclude mode). At checkout the plugin looks at the shipping method the customer picked and shows only the gateways that match. Switching shipping recalculates the gateway list and any fees in real time.
Method mode vs Instance mode - what is the difference?
Method mode is simpler: rules apply to a shipping method everywhere it appears (e.g. Flat rate). Instance mode is per zone-method (e.g. Flat rate inside the EU zone, but not the Flat rate inside the US zone). Stores with one zone use Method. Stores with regional shipping rules use Instance.
Will the Cash on Delivery fee update if the customer changes shipping?
Yes. The plugin re-triggers WooCommerce's payment-gateway fee calculation when the shipping method changes, so a COD surcharge that depends on the new shipping cost shows the correct total before the customer pays. No stale fees.
Does it work with custom or regional payment gateways?
Yes. The plugin hooks into WooCommerce's payment-gateway registry, not a hardcoded vendor list. Any gateway that registers with WooCommerce (Stripe, PayPal, Mollie, Razorpay, Klarna, Sezzle, in-house custom gateways) gets the shipping-rule fields automatically.
Can I block Cash on Delivery for fast shipping?
Yes - this is the classic use case. Add Express, Overnight, or any fast tier to COD's Exclude list. When a customer picks Express, COD disappears from the checkout. They have to pay upfront. No more drivers chasing cash on next-day orders.
Can I show wire transfer only on local pickup?
Yes. Set Direct Bank Transfer's Include list to Local pickup only. Customers picking pickup see the wire-transfer option. Customers picking any courier do not. Same idea works for purchase orders, invoice payments, or any low-trust gateway you only want for known buyers.
Does it work with shipping zones?
Yes. Turn on Instance mode and the rule list switches from method names (e.g. Flat rate) to method instances (Flat rate · EU, Flat rate · US, Local pickup · DACH). You can show SEPA only on EU zones, PayPal only on US, COD only on a specific neighborhood zone. Fully zone-aware.
Will this slow my checkout?
No. The plugin runs on WooCommerce's existing shipping-rate calculation hook. No extra database tables, no background jobs. Frontend impact is one AJAX call per shipping switch, which WooCommerce already fires.
Is it block-checkout compatible?
Yes. The gateway-availability filter runs on both the classic checkout and the WooCommerce Blocks (Cart and Checkout blocks) checkout, so the same rules apply whichever checkout you use.
Is the plugin HPOS-compatible?
Yes. HPOS (High-Performance Order Storage) is declared compatible. Works with both the new high-performance order tables and legacy postmeta-based storage.
What is the refund policy?
14 days on the yearly and lifetime plans; 30 days on All Access. No questions asked. The yearly plan also includes an upgrade credit toward Lifetime or All Access. Lifetime never renews. Yearly auto-renew can be turned off in your account.
Is there a free version?
Yes. The free version on WordPress.org covers basic Include rules per gateway in Method mode. The Pro version adds Exclude mode, Instance (zone-method) mode, auto-recalculation of gateway fees on shipping change, priority support, and the per-instance UI.
if you've scrolled this far ↓

Stop offering Cash on Delivery on overnight shipping. Pair every gateway with the shipping it fits.

Include or exclude any gateway by shipping method or zone-method instance. Hide COD on Express. Show wire transfer only on local pickup. Restrict SEPA to EU. Auto-recalc fees. Block and classic checkouts. 800+ stores already running it. 14-day refund if it's not for you.

800+ stores · 5★ across 3 reviews · WordPress.org plugin · 14-day refund