Rule Priority: Product vs. Category vs. Tag
Understand how product-level, category-level, and tag-level rules interact and which takes precedence.
Understand how product-level, category-level, and tag-level rules interact and which takes precedence.
Understand how product-level, category-level, and tag-level rules interact and which takes precedence.
Payment Gateway Per Product evaluates rules at three levels — product, category, and tag — and intersects them. There is no simple "product overrides category" hierarchy; all applicable rules are active simultaneously and combined.
For any given product in the cart, the plugin collects:
All collected rules are then intersected. Only gateways present in every applicable rule are kept.
If a level has no rule assigned, it contributes no restriction — meaning it doesn't narrow the intersection. Effectively, a "no rule" level is treated as "all gateways allowed" for that level.
Example:
Result: Stripe and Bank Transfer (intersection of the product rule and the tag rule; category contributes no restriction).
Because all levels are intersected, you can use a product-level rule to tighten what a category allows — not to override it entirely. For example:
If you need a product to behave as if it has no restriction at all (ignoring category/tag rules), you'd need to either remove those category/tag rules or ensure all desired gateways appear in all active rule sets.
If checkout shows an unexpected set of gateways, work through each level: