Braintree Auth is in closed beta. To request access, email auth@braintreepayments.com.

Braintree Auth allows you to add and list presentment currencies for a connected merchant.


Adding currencies is only supported for Braintree merchants onboarded through Braintree Auth. Attempting to add a currency for a merchant who has not been onboarded through Braintree Auth (a Braintree 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:

result = Braintree::MerchantAccount.create_for_currency(
  :currency => "USD"

if result.success?
  puts result.merchant_account.currency_iso_code

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:

merchant_accounts = gateway.merchant_account.all

merchant_accounts.each do |merchant_account|
  puts merchant_account.currency_iso_code

Currency support

To add a currency for a merchant through Braintree::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: Shared Vault →

Still Have Questions?

If you can’t find an answer, give us a call at 877.434.2894 or contact our Support team