---
title: Troubleshooting Conditional Payment Methods
description: "Fix payment rules that do not apply: debug log, free gateway limit, geolocation, block checkout notices, empty checkout and caching."
url: "https://wpfactory.com/docs/conditional-payments-troubleshooting/"
updated: "2026-10-05"
category: Troubleshooting
---

# Troubleshooting Conditional Payment Methods

If a payment method is not hidden or shown as expected, start by turning on **Debug** in [Conditional Payment Methods for WooCommerce](https://wpfactory.com/item/conditional-payment-gateways-for-woocommerce/) at **WPFactory > Conditional Payment Gateways > General**, then reload the checkout and read the log at **WooCommerce > Status > Logs**. The fixes below cover the most common causes.

## Read the debug log first

1. Go to **WPFactory > Conditional Payment Gateways** (also reachable at **WooCommerce > Settings > Conditional Payment Gateways**), tick **Debug: Enable** and save.
2. Reload the checkout in a private window with a test cart.
3. Go to **WooCommerce > Status > Logs** and open the log whose source is `conditional-payment-gateways-for-woocommerce`.
4. Each line shows the condition, the value you set, the customer's current value and the result, plus a `Disabling` line for every gateway removed.
5. Turn Debug off again when you are done.

## The rule has no effect

**Cause:** the rule is not switched on, or the gateway's field is empty.

1. Check that **Conditional Payment Gateways: Enable plugin** is ticked in the General section.
2. Check that the rule is ticked under **Available Conditions** (or **Enable section** is ticked in the condition's own section; both are the same setting).
3. Check that the field next to the right gateway has a value. An empty field, or `0` for Cart Total, means no restriction.

## I cannot edit the field for my gateway

**Cause:** you are on the free version, which only controls Direct bank transfer, Check payments, Cash on delivery and PayPal Standard. Other gateways show a read-only or disabled field with a Pro message and are not checked at checkout. See [Free vs Pro](https://wpfactory.com/docs/conditional-payments-free-vs-pro/).

## My gateway is not listed at all

**Cause:** each section lists the gateways registered with WooCommerce. A gateway that is not registered, or whose plugin is inactive, does not appear.

1. Confirm the gateway appears at **WooCommerce > Settings > Payments**.
2. Activate its plugin, then reload the condition section.
3. Look for the gateway by its admin name: fields are labeled with the checkout title and, when different, the admin name in brackets.

## Country rules hide the gateway for everyone, or for no one

**Cause:** the default **Country detection** is **Country by IP (geolocation)**. If WooCommerce geolocation is not configured, no country is found: Require Country then hides the gateway for every visitor, and Exclude Country never hides it.

1. Set up MaxMind Geolocation at **WooCommerce > Settings > Integration**, or
2. Switch **Country detection** (bottom of the Country section) to **Billing country** or **Shipping country**.
3. When testing by IP, remember that a VPN, proxy or CDN can change the address WooCommerce sees.

## The notice does not show on the checkout

**Cause:** the **Additional notice** is added only while the classic checkout refreshes its order review. On the block-based Checkout, gateways are still hidden but the extra notice may not display.

1. Check that **Additional notice: Enable** is ticked and the text is not empty.
2. If you need the notice, use the classic checkout (the `[woocommerce_checkout]` shortcode on your checkout page).

## Block checkout shows an incompatibility warning

**Cause:** the plugin declares compatibility with High-Performance Order Storage but not with the Cart and Checkout blocks, so WooCommerce may flag it in the editor. Hiding still runs through WooCommerce's standard list of available gateways. Test your rules on the live checkout page and use the debug log to confirm they run.

## The checkout shows no payment methods

**Cause:** the enabled rules removed every gateway for this customer.

1. Review Require rules first, because a Require rule hides the gateway whenever the customer does not match.
2. Turn on **Leave at least one gateway** in the General section. The plugin will then stop hiding once only one gateway is left.

## Rules show stale results

**Cause:** a page cache is serving a saved copy of the cart or checkout. Rules are checked for each visitor when WooCommerce builds the payment list, so exclude the cart, checkout and my account pages from page caching and test in a private window after each change.

Still stuck? See the [settings reference](https://wpfactory.com/docs/conditional-payments-settings-reference/) or [getting started guide](https://wpfactory.com/docs/conditional-payments-getting-started/).

Need a hand? Our team answers every ticket on the [Conditional Payment Methods support forum](https://wpfactory.com/support/item/conditional-payment-gateways-for-woocommerce/).

Related articles

- [Conditional Payment Methods Shortcodes and Developer Reference](https://wpfactory.com/docs/conditional-payments-developer-reference/)
- [How to Restrict Payment Methods by Currency or Language in WooCommerce](https://wpfactory.com/docs/conditional-payments-currency-language/)
- [How to Enable Payment Methods by Date and Time in WooCommerce](https://wpfactory.com/docs/conditional-payments-date-time/)
- [How to Hide Payment Methods by Product, Category or Tag in WooCommerce](https://wpfactory.com/docs/conditional-payments-by-product/)
- [How to Restrict Payment Methods by User Role, User or IP Address in WooCommerce](https://wpfactory.com/docs/conditional-payments-user-role/)
