A WooCommerce plugin that allows you to set fixed prices for products in different currencies, rather than using automatic currency conversion.
- Set fixed prices for each product in different currencies
- Support for multiple currencies with WooCommerce's native currency symbols
- Light and dark theme options
- Multiple positioning options for the currency switcher
- Shortcode support for manual placement
- Auto-detection of customer's currency based on location
- Support for variable products and variations
- Compatible with WooCommerce HPOS (High-Performance Order Storage)
- Upload the plugin files to the
/wp-content/plugins/woo-currency-switcherdirectory - Activate the plugin through the 'Plugins' menu in WordPress
- Go to WooCommerce > Settings > Currency Switcher to configure the plugin
- Select the currencies you want to support using the enhanced select dropdown
- The default store currency will be automatically included
- Each selected currency will be available for price setting
- Choose between light and dark themes for the currency switcher
- Light theme is the default option
- Choose where the currency switcher appears on the frontend:
- Center Left
- Bottom Left
- Middle Bottom
- Bottom Right (default)
- Center Right
- Enable/disable automatic currency detection based on customer location
- Requires MaxMind GeoIP library and proper WooCommerce geolocation settings
- Edit any product
- Scroll to the "Fixed Currency Prices" section
- Enter prices for each supported currency
- Leave empty to use the default currency price
- Edit the variable product
- For each variation, you can set specific prices in different currencies
- If no variation-specific price is set, it will fall back to the parent product's price
The currency switcher will appear in the position you selected in the settings. It's fixed on the screen and always visible to customers.
You can manually place the currency switcher anywhere on your site using the [wcc_switcher] shortcode.
This is useful for:
- Placing the switcher in specific locations in your theme
- Adding it to custom templates
- Including it in widgets that support shortcodes
For the auto-detection feature to work, you need to:
- Install and configure the MaxMind GeoIP library in WooCommerce
- Set "Default customer location" to "Geolocate" in WooCommerce > Settings > General
- Enable the auto-detection option in the Currency Switcher settings
For more information about MaxMind integration, please read the WooCommerce documentation on geolocation.
- This plugin uses fixed prices, not automatic currency conversion
- Each currency price is independent and should be set manually
- The default store currency is used as the base currency
- Prices in other currencies are stored as separate meta fields
- The switcher is responsive and works on all devices
- Both light and dark themes are fully styled and accessible
See a demo on Mellon Educate's website.
The plugin provides two ways to control which payment gateways are available to your customers:
- Currency-based Gateway Restrictions: Control which payment gateways are available for each currency
- Product-specific Gateway Restrictions: Control which payment gateways are available for specific products
These features can be used independently or together, with product-specific settings taking precedence over currency-based settings.
This feature allows you to specify which payment gateways are available for each currency. This is useful when certain payment providers only support specific currencies.
- Go to WooCommerce > Settings > Currency Switcher
- In the "Currency Settings" section, select the currencies you want to support
- Go to the "Gateway Currency" tab
- For each payment gateway:
- Select the currencies in which this gateway should be available
- Leave currencies unselected to disable the gateway for those currencies
Let's say you want to:
- Allow PayPal only for USD and EUR
- Allow Stripe for all currencies
- Allow Global Payments only for EUR and GBP
You would:
- Select USD and EUR for PayPal
- Select all currencies for Stripe
- Select EUR and GBP for Global Payments
This feature allows you to specify which payment gateways are available for specific products. This is useful when:
- Certain products can only be purchased through specific payment methods
- You want to offer different payment options for different types of products
- You need to restrict payment methods based on product categories or types
- Edit any product in your store
- Go to the "Payment Gateways" tab
- Select the payment gateways that should be available for this product
- Leave all gateways unselected to allow all gateways for this product
Let's say you have:
- Product A: Only allow PayPal
- Product B: Only allow Stripe
- Product C: Allow all payment gateways
You would:
- For Product A: Select only PayPal
- For Product B: Select only Stripe
- For Product C: Leave all gateways unselected
When both features are configured, the plugin follows these rules:
- If a product has specific gateway restrictions, only those gateways will be available for that product
- Currency-based settings are ignored for products with specific gateway restrictions
- For products without specific gateway restrictions, the currency-based settings determine which gateways are available
- The current currency must be enabled for the gateway in the currency settings
- When multiple products are in the cart, only the gateways that are allowed for ALL products in the cart will be shown
- This ensures consistency in payment options across the entire order
- Product A: Only allows PayPal
- PayPal is disabled for EUR in currency settings
- When viewing Product A in EUR:
- PayPal will be available (product-specific setting takes precedence)
- Other gateways enabled for EUR will not be shown
- Product A: Only allows PayPal
- Product B: Only allows Stripe
- When both products are in cart:
- No payment gateways will be shown (no common gateways)
- Customer must remove one product to proceed with payment
- Product A: No specific gateway restrictions
- Product B: Only allows PayPal
- PayPal is disabled for EUR in currency settings
- When viewing Product A in EUR:
- PayPal will not be available (currency setting applies)
- Other gateways enabled for EUR will be shown
- When viewing Product B in EUR:
- PayPal will be available (product-specific setting takes precedence)
- Other gateways will not be shown
- Consider which payment methods make sense for each product
- Consider which currencies each payment provider supports
- Document your gateway restrictions for future reference
- Test with different currencies
- Test with different product combinations in cart
- Test with both logged-in and guest users
- Keep track of any payment-related issues
- Adjust gateway restrictions if customers report problems
- Consider adding explanatory notes for restricted payment methods
- Periodically review your gateway settings
- Update settings when adding new payment providers
- Update settings when adding new products
If payment gateways are not showing as expected:
- Verify the product has the correct gateway restrictions
- Check if multiple products in cart have conflicting restrictions
- Verify the current currency is enabled for the desired gateway
- Check if the currency is supported by the payment provider
- Ensure all products in cart have compatible gateway restrictions
- Try removing products one by one to identify conflicts
- Verify the payment provider is properly configured in WooCommerce
- Check if the payment provider supports the current currency

