What Developers Need to Know About Upcoming BigCommerce Multi-Currency Enhancements

Charles Ho
BigCommerce Developer Blog
5 min readOct 18, 2019

We are excited to announce new multi-currency features are now available in Early Access on the BigCommerce platform. With multi-currency, merchants can now enable selling to new markets and let shoppers check out and pay in their local currency. As a developer, these platform changes are important to review and understand because they may affect your integrations and customizations. In this blog post, we’ll review everything you need to know about multi-currency as a developer — what it is, how can you tap into this new feature, and what changes affect you.

What Capabilities Will Multi-Currency Unlock?

Before multi-currency on BigCommerce, shoppers could see the price in their local currency but ultimately were charged in the store’s default currency. This meant the shopper was often charged additional fees by their credit card company when the currency was converted from the store’s default currency to their local currency. Passing along these fees to the shopper ultimately makes products more expensive and results in a subpar shopping experience.

With the introduction of multi-currency, you can now add multiple transactional currencies and allow shoppers to transact in a currency of their preference, make sure that the shopper knows exactly how much they’ll be charged on their account, and help them avoid extra fees. So what that means is that the shopper will have the option to browse products, add to cart, check out and pay in another currency.

As stores expand their business, they look for cross-border opportunities to increase sales. Multi-currency enables stores to expanding into new markets by being able to accept payments in multiple currencies.

Where is Multi-Currency Today?

At the time of publication, multi-currency is in Early Access and we are targeting general availability for later this month in October 2019.

Interested stores can try out multi-currency during Early Access by navigating to Settings then Currencies in the Control Panel and follow the instructions to opt-in. In a few clicks you’ll be up and running accepting payments in multiple currencies.

During early access, it is important to note that not all features will be available.

Current limitations include:

  • Optimized One-Page Checkout only, no legacy checkout.
  • Stencil only.
  • Stripe credit card only for shoppers that want to pay in their local currency.
  • Coupons created through Promotions only, no Legacy Coupon Codes.
  • Store credit cannot be set in multiple currencies.
  • Customer group discounts cannot be set in multiple currencies.

For more information, please refer to this article.

What Changes Do Developers Need to Know About?

The multi-currency feature has affected the following resources:

1. Additive changes to the v2 Orders API.

store_default_currency_code: The store’s default currency.

store_default_to_transactional_exchange_rate: The exchange rate between the store’s default currency and the transactional currency used in the order.

If a currency is set as transactional, this means that the shopper will pay in the selected currency. The amount in the checkout will be the final amount the shopper sees with their bank or credit card company. The transactional currency is usually the shopper’s local currency.

default_currency_code: The transactional currency used in the order. Historically this has been the store’s default currency. The name looks misleading but now with multi-currency, this is the order’s transactional currency

No changes to the values below.

currency_code: The display currency. This display currency is the currency used to present prices to the shopper on the storefront.

currency_exchange_rate: The exchange rate from the store’s default currency and the display currency. When the order is created by means of the V2 endpoints, this value is always 1. Only in the storefront this value can be different to 1.

{ 
“currency_id”: 4,
“currency_code”: “EUR”,
“currency_exchange_rate”: 1,
“default_currency_id”: 4,
“default_currency_code”: “EUR”,
“store_default_currency_codev: “USD”,
“store_default_to_transactional_exchange_rate”: “100.0000000000”
}

2. Additive changes to the v3 Cart API.

The cart already exposes the currency as part of the read responses, the only difference here is the ability to create a cart in a non-default currency code.

The currency needs to be setup in the control panel first. You need to include the parameters below in a POST to create a Cart using our Server to Server Cart API https://api.bigcommerce.com/stores/{storehash}/v3/carts

{   
“currency”: {
“code”: {currency_code}
}
}

3. Additive changes to the v2 Currencies API.

is_transactional: This is a boolean flag that indicates if the currency is set as transactional or not. False means display only currency.

You’ll use this API to create or update a currency. This value is used for POST, PUT and expose on GET.

For more information on how currencies work, please refer to this article.

What Do Developers Need to Know About About Tax and Pricing?

Setting up tax with multi-currency.

Tax is a separate function to multi-currency. Setting up multi-currency will have no impact on how you set up tax. How you set up tax will really depend on what countries you will be selling to. For example, in New Zealand and Australia, you will be able to set up tax manually on BC, however, if you plan on selling to countries that have more complicated tax rules such as the US you may want to install an app such as Avalara to automate the tax.

For more information on Avalara, please refer to this article.

Manually setting product prices in multiple currencies.

Price Lists (limited to Enterprise plans) can be created using any currency set up in the store. Both transactional and display currencies are available to use in Price Lists. Individual price records are not copied from one currency to another. A price record will need to be created for each currency.

If you use an ERP to store your product prices. You can use our Price Lists API to bring over multi-currency information to BigCommerce. This API can be used it to add product prices in multiple currencies to Price Lists.

How Can Developers Test Apps for Compatibility?

You can test the multi-currency feature using any development or sandbox store that you’ve created as part of the Partner Program. The feature is available on all BigCommerce plans.

To test the feature, you need to set up a supported payment provider for your store (Stripe credit card only at the time of this article). Once you have it connected, then you can use the payment provider in test mode to create test orders with different transactional currencies. Otherwise, you can use BigCommerce’s test payment gateway.

Apps that may be affected by changes to multi-currency include those that use currency information from the Orders API. An example of these apps include those that generate abandoned cart saver emails where the price is displayed in the shopper’s preferred currency.

Support

If you have questions about the multi-currency changes or you have trouble updating your app, please reach out and let us know. BigCommerce Partners can contact Support via the Partner Portal. We also encourage you to bring your questions and conversation to the BigCommerce Community. Visit the BigCommerce Community, Developers Group to get help from your peers and reach out to us on Twitter at @BigCommerceDevs.

--

--

Charles Ho
BigCommerce Developer Blog

Product Manager at BigCommerce. Based in Sydney, Australia.