200+
April 27, 2026
May 14, 2021
Multiple Currencies for Paid Memberships Pro gives your membership site the flexibility to accept payments in different currencies, whether you charge different regions different amounts or simply want visitors to see pricing in their own currency.
Assign any currency to any membership level, display a sleek frontend switcher so visitors can choose their preferred currency, and let the plugin remember their choice across visits and devices. Every order is stored with its currency so your reports and account pages always show the right symbol – no surprises.
Per-Level Currency
Assign a specific currency to each membership level directly from the level edit screen. The correct currency and symbol is applied automatically at checkout, on the confirmation page, in invoice emails, and on the account page. Levels with no override fall back to your site’s default currency.
Frontend Currency Switcher
A floating pill-style switcher appears on the frontend so visitors can select their preferred currency at any time. Their choice is saved in a cookie and – for logged-in users – synced to their account so it follows them across devices. The switcher is hidden on the checkout page to avoid confusion mid-purchase.
Inline Switcher via Shortcode
Prefer to place the switcher inside your own content or template? Use the [pmpro_currency_switcher] shortcode to embed it anywhere – a page, a widget, or a block.
Geo-Detection (opt-in)
When enabled, new visitors are automatically offered a currency based on their country, detected via Cloudflare or standard CDN country headers. Visitors can still override using the switcher. This setting is off by default.
Available Currencies Restriction
By default the plugin works with all currencies registered in Paid Memberships Pro. Use the Available Currencies setting to restrict the list to only the currencies your site actually uses – keeping level dropdowns and the frontend switcher clean.
Widget Placement Control
Choose where the floating switcher appears: on all pages (except checkout), on PMPro pages only, or hide it entirely and rely on the shortcode instead.
Sales by Currency Report
A dedicated report under Memberships > Reports shows order count and revenue broken down by currency, with filters for today, this month, this year, all time, or a custom date range. A summary tile also appears on the PMPro reports dashboard.
Accurate Order History
The currency and symbol are saved to order meta at the moment of checkout. This means the account page, admin order screen, invoices, and confirmation emails always reflect the currency the member actually paid in – even if your site default changes later.
All plugin settings live under Memberships > Settings > Advanced.
[pmpro_currency_switcher] shortcode. Set to all pages or PMPro pages only to show the floating widget automatically.[pmpro_currency_switcher]
Embeds the currency switcher inline in any page, post, or widget. Only renders when two or more currencies are enabled.
Enable the debug overlay by adding define( 'PMPRO_MC_DEBUG', true ); to your wp-config.php. The overlay shows the active currency, cookie value, user meta value, geo-detected currency, and the list of enabled currencies – useful for troubleshooting.
This plugin is not an official Paid Memberships Pro add on.
pmpro-multiple-currencies folder to the /wp-content/plugins/ directory, or install it directly through the WordPress plugin screen.No. Prices are set manually per membership level. This gives you full control – you decide exactly what to charge in each currency, which is important when exchange rates fluctuate or when you want to use regional pricing that isn’t a straight conversion.
They use the site’s default currency, the same one set in Memberships > Settings > Payment Settings.
No. The floating widget is hidden on the checkout page to prevent visitors from switching currency mid-purchase. If you need switcher access near checkout, use the [pmpro_currency_switcher] shortcode on a page of your choice.
When enabled, the plugin reads the visitor’s country from the HTTP_CF_IPCOUNTRY header (Cloudflare) or HTTP_X_COUNTRY_CODE / HTTP_X_GEO_COUNTRY headers set by other CDN/proxy providers. If a matching currency is found and it is in your enabled list, it is applied automatically. Visitors can always override with the switcher.
It works with any CDN or reverse proxy that sets a country header. Without one of these headers the detection is skipped and no currency is auto-applied.
Yes. For logged-in users the active currency is synced to their user account, so switching on one device is reflected when they log in on another.
Under Memberships > Reports, select Sales by Currency. A summary tile also appears on the main Reports dashboard.
No. It is an independent, community-built add on maintained by Jarryd Long.
[pmpro_currency_switcher] shortcode – embed the switcher anywhere in page content