1. We've got e-commerce with few store views
  2. All of them operate with one currency (EUR) apart from one, which uses GBP
  3. We've enabled Magento2 Braintree module to accept credit cards payments.
  4. The module is working fine. However we've noticed that it uses just one currency (EUR) for all store views. That is unacceptable for the GB store view as it should operates with GBP, not EUR. The currency for this store view is set up correctly.

How can we enable the Magento Braintree module to serve proper currency: EUR for EUR based store views, and GBP for the GBP one?

* UPDATE * These are currency settings:

enter image description here enter image description here

3 Answers 3


Setting different merchant accounts within Breaintree for differen currencies helped. All you have to do next is setting those IDs in proper store views.


The Braintree payment method works with different currencies configured per store NOT per store view because all payment method configuration depends on website configuration. As other payment methods, Braintree uses Base Currency NOT Default Display Currency.

To use different currencies you need to configure base currency for each website, by default the base currency is global.

You need to change Stores -> Configuration -> Catalog -> Price -> Catalog Price Scope to Website instead Global and configure Base Currency for appropriate website.

Also, you can configure multiple currencies for different store views but transactions always are charged in the Base Currency.

UPD: on Braintree gateway side you should have additional merchant account configured with needed currency, also this account should be specified in Stores -> Configuration -> Sales -> Payment Methods -> Braintree -> Advanced Braintree Settings -> Merchant Account ID per appropriate website.

  • Please see my updated posts. There are currency settings. Sep 30, 2017 at 6:41
  • 1
    Did you configure different merchant accounts for Braintree for different currencies?
    – joni jones
    Oct 1, 2017 at 13:38

I know it's an old post, and I just hope someone could help me.

We just switched to Magento 2.3.3. We have a GBP and USD store and in M1 when someone placed the order through the US site the payment was taken in USD in Braintree. Now in M2 we can't set up the multi-store payment option as on the different store views there's no Braintree Advanced Settings just on the default store view, thus we can't add the right merchant account IDs on the store views.(all the US site orders are in GBP but it should be USD) Could you please advise whether it's possible to add the Braintree Advanced Settings somehow to the store views or is there another option to fix this? Many thanks in advance.

  • Nóra, patch system.xml to populate setting into store view level as well .... might need to adjust config getters to work on store view scope as well ...
    – Mammouth
    May 7, 2020 at 13:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.