PeachPay for WooCommerce has a built-in currency switcher. You can add multiple currencies, and shoppers can switch between those from either the Currency Switcher widget or the Express Checkout.
You can also add all currencies with a single click.
The rates automatically update, but this can also be turned off, and the rates can be modified. No API keys are required—it just works.
If you want it to automatically show the currency for a shopper's country, but not let them choose, that is also possible.
Before getting started
We recommend turning off other currency switcher or conversion plugins to avoid conflicts.
Enable the Currency Switcher
By default, the Currency Switcher is turned off. To turn it on, toggle the switch labeled Enable currency switcher.
After turning it on, it will appear in the Express Checkout below the order summary.
To place a similar currency switcher in other places on your store, like the sidebar, follow this guide on adding a currency switcher block.
Change what determines the currency
There are two options for what determines the currency. It can either be based on
Customer billing country, or
Customer geolocation
When based on the billing country, the currencies shown according to the country restrictions set in the currency table will use the country entered into the billing field.
When set to geolocation, no matter what country a shoppers enter into the billing fields, what currencies are shown will depend on their physical location (their IP address).
Automatically pass along currency conversion fees
If you're using Stripe or PayPal, you can automatically pass along currency conversion fees to the shopper.
Change the conversion rate update frequency
You can change how frequently the conversion rates update. It can be as often as every 15 minutes to every month.
It's also possible to turn off auto update per currency.
The currency table
The currency table is where you add, remove, and customize currencies.
Add a currency
To add a new currency, click Add new currency. A new row will appear without any currency selected. Choose the currency you wish to use from the dropdown.
Turn auto update off
If you don't want the currency to update its rate automatically, uncheck the box in the Auto update column.
Change the conversion rate
If auto update is turned off, you can manually modify the conversion rate.
Add custom fees per currency
Each currency can have custom fees. The fees can either be a fixed amount or a percent, and you can choose the label to show in the checkout order summary next to that fee.
Decimals and rounding
If a currency supports decimals, you can change the number of decimals shown. This is useful if for example your shop only uses whole amounts, and you want the prices when converted to a different currency to have the same look.
You can also change in which direction it rounds.
Custom update interval
This will override the global rate update interval.
Country restrictions
Add countries to limit the use of that currency to particular countries.
Add all currencies at once
The Fill table with all currencies button will add all supported currencies to the table, and it will by default add the country where that currency is most used to the restrictions, so that your store shows the most relevant currency to the shopper and doesn't give them the choice to switch.
If you want them to be able to switch, you can remove countries from the restrictions per currency.
Video tutorial