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:
- Python
gateway = braintree.BraintreeGateway(access_token=merchant_access_token)
result = gateway.merchant_account.create_for_currency({
"currency": "USD"
})
if result.is_success:
print(result.merchant_account.currency_iso_code)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:
- Python
gateway = BraintreeGateway(access_token=merchant_access_token)
result = gateway.merchant_account.all()
for merchant_account in result.merchant_accounts:
print(merchant_account.currency_iso_code)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.