Multi-Currency
Availability
Braintree Auth is in closed beta.
Contact us to
express interest.
Important
Adding currencies is only supported for merchants who sign up through Braintree Auth. Attempting
to add a currency for a merchant who did not sign up for their Braintree account via Braintree
Auth (i.e. a merchant connecting an existing non-OAuth account to an OAuth application) will
result in a
validation error
.
Adding a currency
Once you have completed the
OAuth Flow and received an
access_token for a merchant, you can use the merchant API to add a currency:
- Callback
- Promise
const gateway = new braintree.BraintreeGateway({
accessToken: merchantAccessToken
});
gateway.merchantAccount.createForCurrency({
currency: 'USD'
}, (err, result) => {
if (result.success) {
console.log(result.merchantAccount.currencyIsoCode);
}
});payment_methods do not accept the provided
currency, a
validation error
is returned and a new merchant account will not be created. For more information see
currency support. You can view the supported currencies for a
merchant by inspecting their merchant accounts:
- Node
const gateway = new braintree.BraintreeGateway({
accessToken: merchantAccessToken
});
gateway.merchantAccount.all((err, merchantAccounts) => {
merchantAccounts.forEach((merchantAccount) => {
console.log(merchantAccount.currencyIsoCode);
});
});Currency support
To add a currency for a merchant through [Merchant Account: Create For Currency]
(/braintree/docs/reference/request/merchant-account/create-for-currency), all of the payment methods
the merchant accepts must support the new currency. For details on which currencies are supported
for each payment method, see the following references:
Note
American Express presentment is currently limited to a small subset of currencies (GBP, EUR, SEK,
USD); attempts to add an unsupported currency for Amex will succeed for other cards but
not allow Amex presentment. Running an Amex transaction against these merchant accounts
will result in a
transaction validation error.