How to set up WooCommerce payment by user role
As an online store owner, you might want to offer different payment options to different types of customers. This complete guide will tell you everything you ever wanted to know about how to set up WooCommerce payment by user role. In other words, we'll explain how you can show different payment options to different users based on their user role.
Out of the box, the WooCommerce plugin shows the same payment options to all of your customers – regardless of their user role. But what if you want to offer different WooCommerce payment gateways by user roles to different types of customers?
The easiest way to set up WooCommerce payment by user roles is by using the WooCommerce Wholesale Pro plugin. It’s incredibly easy to set up and you can choose which user role(s) can see available payment gateway in WooCommerce.
What is WooCommerce payment by user role
WooCommerce payment restrictions by user role display different payment gateways to specific customer groups based on their assigned WooCommerce user roles.
This allows store owners to tailor checkout options for wholesale buyers, retail customers, admins, or any other role. Instead of showing the same payment methods to everyone, you can control visibility based on user type.
There are several ways to implement role-based payment restrictions in WooCommerce:
- Plugin solutions: Extensions that provide user interface controls to assign specific payment gateways to selected roles.
- Custom code: Use filters like
woocommerce_available_payment_gateways
to programmatically manage gateway visibility based on user roles. - Hybrid approaches: Combine plugins with custom rules for more granular control and flexibility.
These methods vary in complexity, from plug-and-play tools to developer-level solutions.
For this tutorial, we'll use WooCommerce Wholesale Pro because it offers an intuitive setup process and integrates seamlessly with WordPress user roles.
Why you might want to offer different payment methods to different customers
There are plenty of reasons why you might need to offer different payment methods to different types of customer. Here are some use cases for when you might consider showing WooCommerce payment gateways by user role:
- Wholesale customers or B2B buyersYou can set up WooCommerce payment by user roles to offer popular online payment options – such as PayPal, Stripe, or credit card – to retail customers and additional payment options – such as invoice, cheque, cash on delivery, or bank transfer – to regular wholesale customers.
- Offline payment options for trusted customersYou might want to create a user role for loyal customers and offer them extra payment methods such as invoices. Users with the Customer role and guest users, on the other hand, will only have the option to make payments online at the time they place their order.
- Different payment terms for different groups of customersSome online stores offer different payment terms and shipping methods depending on the customer’s past behavior. For example, reliable payers might qualify for longer payment periods.
- Test payment gateways for administrators and shop managersMost online store owners have a separate staging site that they use for testing payment methods. Others temporarily activate an offline payment gateway such as Check and use this whenever they want to test their live checkout. It’s best to permanently add a test payment method and only make it visible to Administrators and Store Managers only, not users with the Customer role.
Offering different payment gateways to different customers based on their user roles helps you deliver a better, more personalized customer experience. As a result, this can help you boost sales.
Available plugins for WooCommerce payment by user role
Several plugins support conditional payment gateways in WooCommerce based on user roles. These tools vary in scope, user interface, and feature depth, but all allow for role-based payment control.
- WooCommerce Role Based MethodsAn official extension from WooCommerce.com that enables store owners to restrict both payment and shipping methods by user role. It integrates directly into WooCommerce settings and supports a wide range of use cases.
- Payment Gateways by User RolesA lightweight community plugin that lets users assign specific payment gateways to selected roles. It provides a simple interface for enabling or disabling methods on a per-role basis.
- WooCommerce Wholesale ProA premium plugin that includes full support for wholesale features. In addition to payment gateway restrictions by role, it supports role-based pricing, user registration, and content visibility.
Each of these plugins offers a valid approach depending on the size and complexity of your store. Some focus purely on payment logic, while others include broader features for B2B ecommerce or customer segmentation.
We'll demonstrate the setup process using WooCommerce Wholesale Pro due to its comprehensive feature set and seamless integration with user roles in WordPress.
How to set up WooCommerce payment by user role
For this tutorial, we’ll assume you already have the free WooCommerce plugin installed and set up on your WordPress website.
Step #1: Install and activate WooCommerce Wholesale Pro
Get the WooCommerce Wholesale Pro plugin and install and activate it on your WordPress website. Head over to WooCommerce → Settings → Wholesale → General and enter your license key.

Click the Save changes button at the bottom of the screen to continue.
Step #2: Create multiple user roles
WooCommerce itself creates a default 'customer' role for your retail buyers. The WooCommerce Wholesale Pro plugin automatically creates a 'wholesale' role for you. This gives you two roles to start with.
You can create as many additional WooCommerce user roles as you like. It’s the easiest way to create custom roles.
First, consider whether you actually need any extra roles. For example, if you want to offer retail customers the option to pay via PayPal, while letting wholesale buyers make check payments or direct bank transfer, then you don't need to create any new roles. Simply set the visibility for each payment gateway so that 'customers' can see the PayPal option; and 'wholesale' users can see the check and bank transfer options.
To create additional roles, head over to the plugin settings at WooCommerce → Settings → Wholesale → Roles and click the Add new role button. Next, enter a Display name and Discount amount for the user role, if applicable.

Click the Add role button to continue.
Step #3: Add payment options in WooCommerce
If you haven’t done so already, go to WooCommerce → Settings → Payments → Payment methods and enable the specific payment options you’d like to offer your customers. Disable any payment gateways that you don’t want to offer to any user role.

Click the Save changes button to continue.
Most major gateways are compatible with role-based payment restrictions. If you're using a third-party gateway plugin, check that it integrates properly with conditional payment logic in WooCommerce.
Step #4: Select which user roles can use each payment option
Finally, go to WooCommerce → Settings → Payments → Payment roles to select the specific user roles that can use each payment method.

The WooCommerce Wholesale Pro plugin lists all the enabled payment methods so that you can control each one individually. By default, all user roles are selected for each payment option. Click the X to remove the roles that you don't want to see specific payment gateways.
It’s a good idea to keep the Administrator and Shop Manager user roles enabled for every payment method, in addition to the customer roles which will actually be buying online. This will make it easier for you to test the different payment methods.
Preview
When customers add products to their shopping cart and proceed to the checkout page, they’ll see payment options depending on their user role. For example, when users with the Customer user role reach the checkout page, they’ll have the option to make their payment via PayPal. It will look something like this on the front-end:

On the other hand, wholesale users will see Direct Bank Transfer and Check Payments as the available payment methods:

Related tutorial: Complete guide to WooCommerce hide products by user role.
Alternative implementation methods
Custom code solutions use WordPress filters to control payment gateway visibility. The woocommerce_available_payment_gateways
filter allows developers to conditionally show or hide payment methods based on user roles, cart contents, or other criteria.
This method provides granular control but requires PHP knowledge and a strong understanding of WooCommerce’s internal structure. Developers often create custom functions that detect the current user’s role and then modify the array of available gateways before checkout.
While powerful, this approach introduces potential maintenance challenges. WooCommerce updates may change how filters behave, and debugging payment logic can become time-consuming without a user interface to manage the conditions.
Some stores also use hybrid solutions, combining lightweight custom code with a plugin that handles broader role management. This allows for tailored functionality without writing everything from scratch.
For store owners without technical expertise, using a plugin is typically the most practical option. It eliminates the need for ongoing code maintenance and provides a visual interface for managing payment rules.
We recommend using a plugin like WooCommerce Wholesale Pro to implement payment restrictions quickly and reliably, without touching code.
Where to get the plugin
The WooCommerce Wholesale Pro plugin lets store owners create multiple user roles and set up WooCommerce payment by user role in a few simple steps. It also lets you offer different shipping methods to different user roles.
It’s a great way to deliver a better user experience through your e-commerce store and make it easier for customers to pay you. As a result, you can effectively boost sales and grow your bottom line.
The plugin comes complete with:
- Quick plug-and-play setup.
- In-depth documentation and video tutorials (there's no way to get it wrong!).
- Technical support and personalised advice.
- 30-day money-back guarantee - love it or get a full refund!
Get the WooCommerce Wholesale Pro plugin now and set up WooCommerce payment by user roles today.