Braintree Auth (Beta)
Multi-Currency
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:
- Ruby
gateway = Braintree::Gateway.new(
:access_token => merchant_access_token
)
result = gateway.merchant_account.create_for_currency(
:currency => "USD"
)
if result.success?
puts result.merchant_account.currency_iso_code
end
If any of the merchant's payment_method
s 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:
- Ruby
gateway = Braintree::Gateway.new(
:access_token => merchant_access_token
)
result = gateway.merchant_account.all
result.merchant_accounts.each do |merchant_account|
puts merchant_account.currency_iso_code
end
Currency support
To add a currency for a merchant through 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:
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.