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:
- Java
MerchantAccountRequest request = new MerchantAccountRequest().currency("USD");
BraintreeGateway gateway = new BraintreeGateway(merchantAccessToken);
Result<merchantaccount> result = gateway.merchantAccount().createForCurrency(request);
if (result.isSuccess()) {
System.out.println(result.getTarget().getCurrencyIsoCode());
}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:
- Java
BraintreeGateway gateway = new BraintreeGateway(merchantAccessToken);
/* all returns an Iterable<merchantaccount> */
PaginatedCollection<merchantaccount> merchantAccountsIterable = gateway.merchantAccount().all();
for (MerchantAccount merchantAccount : merchantAccountsIterable) {
System.out.println(merchantAccount.getCurrencyIsoCode());
}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.