Different Payment Method for Different Customers Based on Geolocation

Topic summary

Goal: show different payment methods by customer location (e.g., local gateway/COD for domestic customers, PayPal or other gateways for international customers).

Current platform limits:

  • One primary payment gateway per store plus PayPal; gateways can’t be conditionally shown by country in native Shopify checkout.
  • To use different bank/PayPal accounts per country, separate (duplicate) stores are required.
  • Geolocation app affects language/currency only, not payment gateways. COD is global (all or none). Shopify Payments (SP) availability varies by country.

Merchant use cases driving the request:

  • Separate legal entities/bank accounts and tax/GST reporting per region.
  • Offer COD only locally (e.g., Morocco, Philippines) and hide it for others.
  • Country‑specific methods (e.g., invoice/pay-later in Switzerland for approved customers).
  • Currency mismatch at checkout in some markets (e.g., MAD vs browsing currency).

Workarounds discussed:

  • Lock/membership apps to restrict access, and pay‑later apps (don’t truly control gateways).
  • App-based approaches recently suggested: PayRules: Hide Payment Methods (rules by country) and UNUM Pay; a developer link to Checkout Payments extensions. A screenshot was shared showing rule setup.

Status/outcome:

  • No native solution; feature requests logged; no update announced. Suggested paths: duplicate stores for separate settlement needs, or try third‑party apps. Monitor Shopify Changelog for changes.
Summarized with AI on December 21. AI used: gpt-5.

You can set different payment methods for local and international customers using the PayRules: Hide Payment Methods app. Here’s how you can do it:

  • Create a rule for local/national customers:
    1. Choose the local payment gateway from the “Select payment methods” field.
    2. In the “Countries” field, select “Hide if not found” and add your local country.
    3. In the below screenshot, “Cash on Delivery” will be hidden if the customer is not from Albania (assuming as your local country).

  • Create another rule for international customers:
    1. Choose the international payment gateway like “PayPal” from the “Select payment methods” field.
    2. In the “Countries” field, add your local country again but select “Hide if found” this time.
    3. Now “PayPal” will be hidden if the customer is from Albania (assuming as your local country).

I hope you found this helpful. Thanks.