What it does
Disable WooCommerce payment methods for specific shipping methods—hide Cash on Delivery for courier delivery, or PayPal for Local Pickup. GoUp Payment Gateway by Shipping Method keeps payment choices aligned with the customer’s selected delivery method. Create rules for one configured shipping instance or every instance of a method type, then disable selected gateways or allow only the payment options that make sense for local pickup, courier, free shipping, freight, and other fulfilment flows.
Step-by-step guide: How to Hide WooCommerce Payment Methods Based on the Shipping Method (No COD for Local Pickup, etc.)
Screenshots



Common use cases
- Offer Cash on Delivery only when Local Pickup or local delivery is selected
- Allow COD and Direct Bank Transfer for pickup while keeping card options for courier delivery
- Disable Cash on Delivery for express or international shipping
- Require Direct Bank Transfer for freight shipping
Features
- Target an exact shipping instance or every instance of a shipping method type
- Disable selected gateways or allow only an approved payment set
- Combine multiple rules predictably with priorities and restrictive merging
- Support multi-package carts, virtual carts, classic checkout, Store API, and Checkout Blocks
- Protect checkout with default Safe Mode when GoUp rules would remove every gateway
- Use quick-start recipes, a rule simulator, diagnostics, JSON import/export, and optional privacy-safe logging
How it works
- Download the plugin ZIP from your GoUpWP account.
- In WordPress, open Plugins → Add New → Upload Plugin, then install and activate it.
- Open WooCommerce → Payment by Shipping and select Add Rule.
- Choose the shipping target, action, payment gateways, and priority, then enable the rule and test checkout.
Compatibility and requirements
Frequently asked questions
How do I disable Cash on Delivery for Local Pickup in WooCommerce?
Create a rule targeting Local Pickup (one zone instance or every instance), set it to Disable, and pick Cash on Delivery. When a customer selects pickup at checkout, COD is removed from the payment options automatically.
Can I target one Local Pickup zone or every Local Pickup option?
Both. Select an exact instance such as local_pickup:7, or target the local_pickup method type to cover every configured instance.
What happens if several shipping rules match?
They combine predictably. Disable rules remove gateway IDs and Allow Only rules intersect the remaining set. Lower priority numbers run first.
Can conflicting rules leave checkout with no payment method?
Safe Mode is enabled by default and restores the original WooCommerce gateway set if GoUp rules alone would reduce it to zero. Strict Mode is available when an empty result is intentional.
Does it support Checkout Blocks and express payment buttons?
Yes for standard Checkout Blocks payment methods through WooCommerce’s supported integration APIs. A standalone Apple Pay, Google Pay, or other express button depends on its gateway extension honoring those availability APIs.
How do rules combine with other GoUp payment-gateway plugins?
Rules combine restrictively across the installed GoUp gateway plugins: Hide removes gateways, and Allow Only intersects the remaining gateway set. A plugin never restores a gateway removed by WooCommerce or another plugin.
Customer reviews
No reviews yet. Reviews come only from customers who hold a license for this plugin.
Updates, support, and cancellation
Every license covers one production website plus one staging or local development site, and includes maintained releases, automatic updates, fresh downloads, and product support during its term. Annual licenses renew automatically until cancelled. Two-year licenses are prepaid and renewed manually; lifetime licenses never expire. If a fixed-term license ends, your installed plugin continues working at its current version.
Changelog
1.0.5 27 September 2026 · tested with WordPress 7.1
- Hardened gateway filtering so extension hooks may only remove existing IDs or exact gateway objects; injected/replaced objects are rejected and unexpected failures return WooCommerce's original gateway set.
- Added re-entrancy protection, fresh-result isolation, same-request option-change detection, and bounded/cached shipping and gateway discovery.
- Enabled rules now require live shipping and gateway references; imports with missing dependencies are kept disabled with an explanation.
- All admin mutations are POST-only with capability and nonce checks. Import validation now uses actual file size, strict schema comparison, bounded collections, and a 500-rule limit.
- Reduced Checkout Blocks data to the minimum public rule fields and restricted logs to sanitized operational identifiers.
- Unified the rules, settings, diagnostics, status badges, buttons, cards and focus states with the GoUpWP blue design system.
- Expanded unit and real WooCommerce integration coverage for Safe/Strict Mode, ANY/ALL package matching, cache invalidation and custom messages.
1.0.4 26 September 2026 · tested with WordPress 7.1
- GoUpWP admin identity: every plugin screen now opens with a GoUpWP header showing the plugin name, version, documentation, support and licence status.
- GoUpWP styling for settings, rule tables, tabs, cards and buttons, scoped to this plugin's screens so WordPress and other plugins are untouched.
- GoUpWP mark on the Plugins screen, Documentation and Support links in the plugin row, and GoUpWP icons on the Dashboard → Updates screen.
1.0.3 20 September 2026 · tested with WordPress 7.1
- Updates: the installer now fetches a freshly signed download link at install time and verifies the SHA-256 checksum, so "Update now" works hours after WordPress last checked for updates.
- Updates: update checks are cached for six hours and the Plugins screen shows a clear message (with a link to the license page) when an update exists but the license is not active.
- License screen: named per plugin in the WooCommerce menu, shows the installed version and a "Check for updates" button, and every string is translatable.
- Plugins screen: Settings and License links on the plugin row.
- Uninstall: releases the license seat on goupwp.com and removes all license data, regardless of the data-retention setting.
- Code style: all source files expanded to readable, documented PHP.
- Fixed a fatal error when opening the rule editor (shipping zones could not be loaded).
1.0.2 20 September 2026 · tested with WordPress 7.1
- License screen now explains activation failures (unrecognised key, wrong plugin, site limit reached, expired) and shows the environment, activation counts and end date.
- Activate and Deactivate always contact goupwp.com immediately instead of waiting out a network backoff.
1.0.1 20 September 2026 · tested with WordPress 7.1
- Added the GoUpWP licensing and update client.
- Normalized plugin headers and code style.