Betheme AJAX does not work with MultiCurrency

I’m working on a WooCommerce site using BeTheme with WooPayments Multi-Currency enabled (CAN and USD), and I’ve run into a consistent issue with currency not being respected in your AJAX cart and header cart elements.

Issue:

  • Product pages correctly display converted prices (e.g., USD)
  • However, the BeTheme side cart (mfnrefreshcart) and header cart total display values in the store’s base currency (CAD), even when another currency is selected
  • The values are not just formatted incorrectly, they are actually calculated in the wrong currency

Investigation:

  • In theme-woocommerce.php, I noticed the following block inside mfn_refreshsidecart() is commented out:
/*if ( is_plugin_active( 'woocommerce-payments/woocommerce-payments.php' ) ) {
    $mc = \WCPay\MultiCurrency\MultiCurrency::instance();
    $mc->init();
}*/
  • It appears BeTheme attempted to support WooPayments Multi-Currency, but it is currently not functional
  • The AJAX handlers (mfnrefreshcart, header fragments) do not initialize WooPayments currency context, so WooCommerce defaults to base currency when calculating totals

Result:

  • Cart items, subtotals, and header totals are inconsistent with the selected currency
  • This creates incorrect pricing display and a broken user experience

Question:

Is there an official or recommended way to make BeTheme’s AJAX cart and header cart fully compatible with WooPayments Multi-Currency?

https://woocommerce.com/document/woopayments/currencies/multi-currency-setup/

If not supported, is there a way to disable BeTheme’s cart fragments and rely on native WooCommerce fragments instead?

Thanks in advance, any guidance would be greatly appreciated.

Comments

Sign In or Register to comment.
This website uses cookies

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information that you’ve provided to them or that they’ve collected from your use of their services.

Cookies are small text files that can be used by websites to make a user's experience more efficient.

The law states that we can store cookies on your device if they are strictly necessary for the operation of this site. For all other types of cookies we need your permission. This means that cookies which are categorized as necessary, are processed based on GDPR Art. 6 (1) (f). All other cookies, meaning those from the categories preferences and marketing, are processed based on GDPR Art. 6 (1) (a) GDPR.

This site uses different types of cookies. Some cookies are placed by third party services that appear on our pages.

You can at any time change or withdraw your consent from the Cookie Declaration on our website.

Learn more about who we are, how you can contact us and how we process personal data in our Privacy Policy.

Please state your consent ID and date when you contact us regarding your consent.