WMGRs Hide Payment & Shipping Methods by User Role for WooCommerce lets you decide which payment methods and which shipping methods each customer group is offered at checkout. Hide a payment gateway or a shipping method from any user role, or from guests who are not logged in, and WooCommerce simply stops offering it to them.
Different customers need a different checkout. Wholesale accounts on agreed terms should be able to pay by bank transfer or cheque, while retail customers pay by card. Cash on delivery is fine for repeat customers but risky for anonymous guests. Pallet freight is for trade buyers, not for someone ordering a single item. This plugin handles all of that from one settings screen, with no code and no rule builder to learn.
Go to WooCommerce Payment & Shipping by Role. The screen lists:
Next to each method, select the user roles it should be hidden from. Leave the list empty and the method stays visible to everyone. Save, and the rules apply to the cart and checkout straight away.
That is the whole configuration: one matrix of methods and roles.
Hide payment methods by user role
* Hide or disable any enabled payment gateway for one or more user roles
* Works with any gateway plugin: direct bank transfer, cheque, cash on delivery, Stripe, PayPal, purchase order and any other gateway listed under WooCommerce Settings Payments
* Hide a payment method from guests (customers who are not logged in)
Hide shipping methods by user role
* Hide any shipping method (flat rate, free shipping, local pickup or a method added by another plugin) for selected roles or for guests
* Rules are set per shipping zone, so the same “Flat rate” can stay visible in one zone and be hidden in another
* Applies wherever WooCommerce calculates shipping rates, including the cart and the checkout
Any role, including custom ones
* Lists every role on your site: Customer, Subscriber, Shop manager and any custom role such as Wholesale Customer, Trade or Distributor created by a wholesale or membership plugin
* Guests are available as their own option, “Guest (not logged in)”
Classic checkout and block checkout
* Uses WooCommerce’s own payment gateway and shipping rate filters, which the classic checkout and the block-based Cart & Checkout (Store API) both respect
* Declares compatibility with block-based Cart & Checkout and with High-Performance Order Storage (HPOS)
Lightweight and safe
* Two WooCommerce filters and one database option. No custom tables, no scripts on the storefront, no external requests and no tracking
* The admin area is left alone, so you can still pick any payment method when creating an order manually
* Settings are saved with a nonce check and a capability check (manage_woocommerce), and every value is validated against the real list of roles
* Deleting the plugin removes its option from the database
Everything described on this page is included in this free plugin, with no limits on roles, payment methods or shipping methods.
For stores that need more than role-based rules, Payment & Shipping by Role Pro for WooCommerce is available from WooManagers. It adds:
Pro reads the same settings, so your existing role rules carry over when you upgrade. The free plugin works on its own and does not require Pro.
This plugin is part of the free WMGRs range of B2B and wholesale tools for WooCommerce. Each plugin works on its own and they work well together:
Documentation, setup guides and the full WooManagers extension catalog are on woomanagers.com. For questions about this plugin, visit the plugin page or use the wordpress.org support forum.