Braintree Auth is in closed beta. Contact us to express interest.

If you support new Braintree signups through your platform, Braintree Auth allows you to add and list presentment currencies for a connected merchant.


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:

gateway = BraintreeGateway(

result = gateway.merchant_account.create_for_currency({
  "currency": "USD"

if result.is_success:

If any of the merchant's 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:

gateway = BraintreeGateway(

result = gateway.merchant_account.all()

for merchant_account in result.merchant_accounts:

Currency support

To add a currency for a merchant through MerchantAccount.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:


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.

See also

Next Page: Testing and Go Live →