If you sell to customers in more than one country, showing every price in a single currency costs you sales. Visitors have to convert prices in their head, and many leave before they pay. A currency switcher in Gravity Forms fixes this: visitors pick their currency (or get it automatically from their location), and every product, option, shipping and total field updates on the spot.
This guide shows you how to add a currency switcher to any Gravity Forms form and accept multi-currency payments with the Multi-Currency for Gravity Forms plugin. You’ll connect live exchange rates, add the Currency Selector field, choose between automatic conversion and fixed prices per currency, and set how payments reach Stripe or PayPal.
What you’ll need
- A WordPress site with Gravity Forms installed and activated.
- The Multi-Currency for Gravity Forms plugin.
- A free Open Exchange Rates account, for live exchange rates.
- A form with pricing fields (Product, Option, Shipping or Total). A payment add-on such as Stripe or PayPal is optional, but most people use one.
Step 1: Install and activate Multi-Currency for Gravity Forms
- Purchase and download the plugin ZIP file from the plugin page.
- In your WordPress dashboard, go to Plugins > Add New > Upload Plugin.
- Choose the ZIP file and click Install Now.
- Click Activate.
Step 2: Connect Open Exchange Rates for live currency conversion
The plugin converts prices with real-time exchange rates from Open Exchange Rates. It needs an App ID to fetch them.
- Sign up for a free Open Exchange Rates account. The free plan is enough for most stores.

- Once you’re logged in, open the App IDs page and copy your App ID.
- In WordPress, go to Forms > Settings > Multi-currency.
- Paste the App ID into the API key field and click Save Settings.

The plugin caches exchange rates for 12 hours, so your site doesn’t call the API on every page load and stays well within the free plan’s request limit.
Step 3: Add the Currency Selector field to your form
The currency switcher is a form field called Currency Selector. Visitors use it to pick the currency they want to pay in.
- Open your form in the Gravity Forms editor.
- Under Pricing Fields, click or drag Currency Selector onto the form. Place it above your product fields so visitors choose a currency before they see prices.

Choose which currencies to offer
Click the field to open its settings. Under Select Currency, choose:
- All currencies: visitors can choose any currency Gravity Forms supports.
- Specific Currencies: only the currencies you pick are listed. This is the better choice for most stores, because a short list is easier to scan and you only show currencies you actually want to accept.
Choose Automatic or Manual mode
The Multi-currency Mode setting decides how prices are calculated in each currency:
- Automatic: you enter each price once, in the form’s base currency, and the plugin converts it with live exchange rates. This is the easiest option and keeps prices in line with the market.
- Manual: you set a fixed price for each currency yourself. Use it when you want clean, rounded prices (for example €49 instead of €48.73) or regional pricing that doesn’t follow exchange rates.

Set fixed prices in Manual mode
In Manual mode, open each Product, Shipping or Option field. Below the Base Price (the price in the form’s base currency) you’ll find Multi-currency Manual Prices, with one price box per currency. Fill in a price for every currency you offer.

Fields with choices, such as a drop-down product or an option field, have a price for each choice. For these, click the Multi-Currency Choices button and enter the price of every choice in each currency.

Click Save Form when you’re done.
Step 4: Configure the form’s multi-currency settings
Each form has its own currency settings. In the form editor, hover over Settings and click Multi-currency.

Under Multi Currency Settings, set these options:
- Form Base Currency: the currency your prices are entered in. In Automatic mode, all conversions start from this currency.
- Auto currency selection: when “Automatically set visitor’s currency based on their country/IP” is checked (it is by default), the Currency Selector is pre-set to the visitor’s local currency. A visitor from Germany sees euros, a visitor from Japan sees yen. They can still switch to another currency.
- Process Payment in: choose User’s selected currency (the default) to charge customers in the currency they picked, or Form’s base currency to convert the total back to your base currency before it goes to the payment gateway. See the payment gateway section below for when to use each.
Click Save Settings.

Step 5: Test your currency switcher
Open a page that contains the form and check that:
- Switching works: choosing a different currency in the Currency Selector updates every price, option, shipping and total field.
- Prices are right: in Automatic mode, converted prices match current exchange rates. In Manual mode, each currency shows exactly the price you entered.
- Auto selection works: if you enabled it, the form opens in your local currency. To test it again, use a private browser window, because the detected currency is remembered in a cookie.
- Payments go through: submit a test entry with your payment gateway in test or sandbox mode and confirm the charge has the right currency and amount.
Accepting multi-currency payments with Stripe and PayPal
Multi-Currency for Gravity Forms works with the official Gravity Forms payment add-ons, so customers are charged in the currency they selected:
- Gravity Forms Stripe add-on (versions 5.x, 6.x and 7.0+).
- Gravity Forms PayPal Checkout and the other PayPal add-ons, including correct handling of zero-decimal currencies such as the Japanese yen (JPY), Hungarian forint (HUF) and New Taiwan dollar (TWD).
It also works with GravityWiz eCommerce Fields, GravityWiz Conditional Pricing and Preview Submission.
If your payment gateway or merchant account can only accept one currency, set Process Payment in to Form’s base currency. Visitors still browse and compare prices in their own currency, and the plugin converts the total to your base currency before the payment is sent.
Show converted prices anywhere with a shortcode
You can also show a converted price outside your forms, for example on a pricing page or in a product description, with the [mcg_convertor] shortcode:
[mcg_convertor amount="100" default_currency="USD" to_currency="EUR"]
amount(required): the price to convert.default_currency(required): the currency of that price.to_currency(optional): the currency to convert to. Leave it out to convert to the visitor’s detected currency. If no currency has been detected, the price is shown indefault_currency.
Troubleshooting
Prices aren’t converting
Check the App ID in Forms > Settings > Multi-currency. Copy it again from the App IDs page, without extra spaces, and make sure your Open Exchange Rates account is active and hasn’t reached its monthly request limit.
Exchange rates look out of date
Rates are cached for 12 hours, so small differences from live market rates are normal. Developers can change the cache time with the mcg_curency_exchange_cache_interval filter, which takes the interval in seconds:
add_filter( 'mcg_curency_exchange_cache_interval', function () {
return 6 * HOUR_IN_SECONDS;
} );
A shorter interval means more API requests, so check your Open Exchange Rates plan’s limit before you lower it.
Visitors see the wrong currency
The detected currency is saved in a cookie for 15 days, so a visitor who travels or uses a VPN may keep seeing the currency from their first visit until they switch it. If you use a page caching plugin, also make sure the cached page isn’t serving one visitor’s currency to everyone.
The payment gateway rejects the currency
Your gateway account may not support every currency you offer. Either limit the Currency Selector to Specific Currencies your gateway accepts, or set Process Payment in to Form’s base currency.
Frequently asked questions
Does Gravity Forms support multiple currencies by default?
No. Gravity Forms uses one currency for all forms, set in Forms > Settings. Multi-Currency for Gravity Forms adds a currency switcher field, a base currency per form and payments in the visitor’s currency.
Can I use different currencies on different forms?
Yes. Every form has its own Form Base Currency and its own currency list in the Currency Selector field.
Do I need a paid Open Exchange Rates plan?
Usually not. Because rates are cached for 12 hours, the plugin makes only about two requests a day, which is well within the free plan’s monthly limit.
Can I set my own prices instead of using exchange rates?
Yes. Set the Currency Selector’s Multi-currency Mode to Manual and enter a fixed price for each currency.
Can visitors change the currency that was detected for them?
Yes. Auto currency selection only pre-selects a currency. Visitors can pick any other currency in the Currency Selector.
Conclusion
With a currency switcher, international customers see prices they understand and pay in the currency they’re used to. That removes one of the most common reasons people abandon a payment form. In a few minutes you can connect live exchange rates, add the Currency Selector field, and start accepting multi-currency payments through Stripe or PayPal.
Ready to sell in every currency? Get Multi-Currency for Gravity Forms.