Choose when to hide payment methods

Use Payment method restrictions to offer different payment methods for different products or customers. Store owners can manage all restrictions in one list, with one condition per rule.

You need WooCommerce and permission to manage WordPress settings. Configure your payment methods in WooCommerce → Settings → Payments first. Restrictions can hide an available method; they never enable a disabled method or override another extension's restrictions.

Create a rule

  1. Open Settings → POM Tweaks → E-Commerce → Cart & checkout.
  2. Enable Payment method restrictions and save if its fields are not visible yet.
  3. Click Add new. Enter an optional Rule name, such as “No cash for wholesale customers”.
  4. Keep Enable this rule checked and select one or more methods under Hide these payment methods.
  5. Choose When. For product conditions, choose a taxonomy under Look at product, then search Selected terms. A taxonomy groups products: categories, tags, brands and custom product taxonomies are examples. For a role condition, select Customer roles.
  6. Read the sentence and explanation shown inside the rule, then click Save.
  7. Reopen the rule and check that the selections remain. Test checkout with a matching cart or customer and with a nonmatching one.

Only the fields needed by the condition are shown. Changing the product taxonomy clears the term selection for that row. Switching between a product condition and a role condition retains the other selections for later use.

Choose the condition

When The selected payment methods are hidden if…
Cart contains a selected term At least one product has any selected category, tag or other term.
Cart contains none of the selected terms No product has any selected term. Use this to make a method available only when the cart contains a matching product.
Cart contains a term outside the selection Any product has an assigned term outside the selected list. Products with no terms in that taxonomy pass. This is the behavior of the original Included lists.
Customer has a selected role The signed-in customer has at least one selected role. Guests do not match this condition.
Customer is a guest The customer is not signed in.
Customer is logged in The customer is signed in, regardless of role.

Product conditions use directly assigned terms. Selecting a parent category does not automatically include products assigned only to its child categories. Variations use the parent product's terms.

For example, a product assigned to both “Food” and “Gifts” matches Cart contains a term outside the selection when only “Food” is selected. It does not match that condition if both terms are selected. A product with no tags does not trigger an outside-selection rule for tags.

Combine and pause rules

Rules add up: any matching enabled rule hides its selected methods for the whole order. Reordering does not change this behavior. Add separate rules for alternatives such as “contains chilled products” or “customer is a wholesaler”. Conditions in separate rows are alternatives, not an AND group.

An incomplete rule with no payment methods, required terms or required roles has no effect. Uncheck Enable this rule to pause it without losing its configuration. Disable the whole tweak to stop all its restrictions.

Installed but disabled payment methods remain selectable, so you can prepare rules before enabling them. Previously saved unavailable methods, roles, taxonomies and terms remain visible instead of disappearing when you save other changes. An unavailable taxonomy does not match; an unavailable term has no matching products. Review outside-selection and none-selected-term conditions after deleting terms, because those conditions compare against the remaining product assignments.

Verify checkout

Check a single matching product, a nonmatching product, a mixed cart, variations, a guest, and each affected customer role. One restricted item can hide a method for the entire order. Confirm that a suitable payment method remains available.

Restrictions run on the server for classic checkout, checkout updates and WooCommerce Store API requests used by block checkout. Gateways still need their own native block support to appear in a Checkout block. On the WooCommerce order-payment page, product rules use that order's items rather than the visitor's current cart; role rules use the signed-in visitor.

If a method is missing, inspect all enabled rules and the method's WooCommerce configuration. Other plugins may also restrict it. If a new term does not appear in the search, check that it belongs to the chosen product taxonomy. If a saved choice is marked Unavailable, restore its provider or replace that selection deliberately.

Related: Create additional manual payment methods.