---
title: Troubleshooting Payment Methods by Location
description: "Fix location rules that do not apply: wrong address source, geolocation, block checkout city and postcode, refresh and caching issues."
url: "https://wpfactory.com/docs/payments-by-location-troubleshooting/"
updated: "2026-10-05"
category: Troubleshooting
---

# Troubleshooting Payment Methods by Location

If a location rule in [Conditional Payment Methods by Location for WooCommerce](https://wpfactory.com/item/payment-gateways-by-customer-location-for-woocommerce/) does not hide or show a payment method as expected, first check the detection settings at **WPFactory > Payment Gateways by Customer Location > General**, then work through the symptoms below. Most problems come from address source, checkout type or caching.

## The rule has no effect

**Cause:** the section is off, the field is empty, or the rule is on a different gateway than the one you are testing.

1. Go to **WPFactory > Payment Gateways by Customer Location** (also reachable at **WooCommerce > Settings > Payment Gateways by Customer Location**) and open the section.
2. Check that its **Enable section** box is ticked.
3. Gateways are listed by their admin name (the name shown at **WooCommerce > Settings > Payments**), which can differ from the checkout title. Make sure you filled in the right one.
4. If the customer's location for that type is empty, the rule is skipped. Test with a complete address.

## The rule uses the wrong address

**Cause:** each location type has its own detection setting, and all default to the billing address.

1. In **General**, check **Detect country by**, **Detect state by**, **Detect city by** and **Detect postcode by**.
2. For delivery-related gateways such as Cash on delivery, switch them to the shipping address.
3. Remember that when "Ship to a different address" is not ticked, WooCommerce uses the billing address as the shipping address.

## Country by IP gives the wrong country

**Cause:** **Country by IP** relies on WooCommerce geolocation. If no country can be found, the plugin falls back to your store's default customer location country. VPNs, proxies and CDNs can also change the IP WooCommerce sees.

1. Set up geolocation at **WooCommerce > Settings > Integration** (the **Geolocation** link next to **Detect country by** goes there).
2. If you use a CDN or reverse proxy, make sure it passes the real visitor IP to WordPress.
3. If the rule is really about the address, use **Billing country** or **Shipping country** instead.

## City or postcode rules do not work on the block checkout

**Cause:** city and postcode are read from the classic checkout form fields that WooCommerce sends when the checkout refreshes. The block-based Checkout sends address data differently, so the plugin falls back to your store's city and postcode. Country and state rules use the customer data and are not affected.

1. Switch your checkout page to the classic checkout (the `[woocommerce_checkout]` shortcode) if you rely on city or postcode rules.
2. Or use country and state rules, which work on both checkouts.

## Payment methods do not update when the address changes

**Cause:** the checkout did not refresh after the customer edited a field.

1. Go to **General > Advanced Options > Force JavaScript checkout update**.
2. Select the fields that should trigger a refresh, for example **Billing postcode** and **Billing city**, and save.
3. This option listens to text input fields. A state shown as a dropdown already refreshes the checkout in WooCommerce, so selecting it there has no extra effect.

## A gateway is missing from the settings

**Cause:** sections list the gateways registered with WooCommerce. Activate the gateway's plugin and confirm it appears at **WooCommerce > Settings > Payments**, then reload the section.

## No payment methods at checkout

**Cause:** Include lists are strict. A customer who is not in a gateway's Include list loses that gateway, and if every gateway has such a list, nothing is left. Review the Include fields for the customer's country, state, city and postcode, or add a gateway with no location rules as a fallback.

## Results look stale or belong to another visitor

**Cause:** a page cache is serving a stored copy of the cart or checkout. Exclude the cart, checkout and my account pages from page caching, clear the cache after changing rules, and test in a private window.

### Get Payment Methods by Location

All location rules in this guide work with any payment gateway, including third-party and custom gateways. [See Conditional Payment Methods by Location for WooCommerce](https://wpfactory.com/item/payment-gateways-by-customer-location-for-woocommerce/).

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

Related articles

- [Payment Methods by Location Developer Hooks](https://wpfactory.com/docs/payments-by-location-developer-hooks/)
- [Payment Methods by Location Settings Reference](https://wpfactory.com/docs/payments-by-location-settings-reference/)
- [Getting Started with Conditional Payment Methods by Location for WooCommerce](https://wpfactory.com/docs/payments-by-location-getting-started/)
- [How to Restrict Payment Methods by Postcode or ZIP Code in WooCommerce](https://wpfactory.com/docs/payments-by-location-postcode/)
- [How to Restrict Payment Methods by City in WooCommerce](https://wpfactory.com/docs/payments-by-location-city/)
