EBANX

EBANX Integration Guide

Braintree's partnership with EBANX enables Braintree merchants to leverage their existing Braintree integration to process transactions locally in Latin America. We currently support the following countries: Argentina, Brazil, Chile, Colombia, Peru, Mexico.

Supported OperationsAnchorIcon

Supported CountriesAnchorIcon

Country NameSupported Credit CardsSupported Debit Cards3DS Supported/RequiredPartial Capture AllowedTaxId RequiredDecimal Supported
ArgentinaMastercard, Visa, Diners, American ExpressMastercard, VisaNot supportedNoYesYes
BrazilMastercard, Visa, Diners, American Express, EloMastercard, Visa, EloSupported, required for debit cardYesYesYes
ChileMastercard, Visa, Diners, American ExpressMastercard, VisaNot supportedNoNoNo
ColombiaMastercard, Visa, Diners, American ExpressMastercard, VisaNot supportedNoNoYes
Costa RicaMastercard, Visa, American ExpressMastercard, VisaSupported, required for non-recurrent transactionsYesNoYes
EgyptMastercard, VisaMastercard, VisaNot supportedNoNoYes
GuatemalaMastercard, Visa, American ExpressMastercard, VisaNot supportedYesNoYes
ParaguayMastercard, Visa, Diners, American ExpressMastercard, VisaNot supportedNoYesNo
PeruMastercard, Visa, Diners, American ExpressMastercard, VisaNot supportedNoNoYes
MexicoMastercard, Visa, American ExpressMastercard, VisaNot supportedNoNoYes
South AfricaMastercard, VisaMastercard, VisaSupportedYesYesYes
UruguayMastercard, Visa, DinersVisaNot supportedNoYesNo

SetupAnchorIcon

EBANX Configuration & CredentialsAnchorIcon

Each merchant should have an account with EBANX. To set up an account with EBANX, follow the EBANX Direct API documentation. Once that has been completed, please work with the account manager or TAM to securely share the integration key with Braintree. Ebanx will provide two integration keys for Sandbox and Production environments

Braintree Merchant AccountAnchorIcon

To process cards with EBANX, you will need currency-specific Braintree merchant accounts for use in your integration. Your account manager TAM can help facilitate this.

CVV RequirementsAnchorIcon

In situations where an integration will be supporting recurring transactions (e.g. as a monthly software subscription), the CVV will not be present for subsequent transactions. EBANX can relax the restriction that requires the CVV on all transactions, however this has to be manually configured via EBANX. Warning: This may result in lower approval rates.

RefundsAnchorIcon

In order to facilitate EBANX refunds in Braintree, merchants MUST configure their EBANX account to send refunds to a card network immediately. By default, EBANX will initially set refunds to PE (pending), and after 30 minutes will send them to a card network. Any refund returned with a status not equal to CO (complete) will be considered a FAILED transaction.

Debit vs. CreditAnchorIcon

To use debit cards with the EBANX integration, the debit cards option must be enabled in the EBANX dashboard, for more information see the EBANX debit card guide.

TransactionsAnchorIcon

Creating a CustomerAnchorIcon

[SDK, GraphQL] Customer creation is a mandatory step for the EBANX integration, and can be accomplished using either the SDKs or GraphQL API. When creating a customer, although not required fields for Braintree, name (first and last) and email will need to be provided. Not providing a first or last name could lead to issues with transactions for the customer. Not providing an email or full name for a customer will result in PROCESSOR_DECLINED for all transactions created for the customer. An additional taxIdentifiers field must be provided in countries Brazil and Argentina. The tax identifier can contain dashes and dots or also could be passed without them. Example of tax identifiers Brazil - 853.513.468-93 (This can also be passed as 85351346893) Argentina - 30-52135353-1 (This can also be passed as 30521353531)

Tokenize Payment MethodAnchorIcon

[SDK, GraphQL] Tokenization returns a single use token or nonce of a payment method. Note:billingAddress.countryCode is required for the EBANX integration. When using the SDK, it is recommended to use a payment nonce sent from the client performing the transaction. For more information see receiving a Payment Method nonce from your client for more information.

Vault Payment MethodAnchorIcon

[SDK, GraphQL] Vaulting a tokenized payment method will create an entity that can be authorized or charged multiple times. Vaulting the payment method directly, a tokenized payment method can be vaulted during authorization [SDK, GraphQL].

Tax IdentifiersAnchorIcon

An additional taxIdentifier field must be provided in countries Brazil, Argentina, Paraguay, Uruguay. The tax identifier can contain dashes and dots or also could be passed without them. Example of tax identifiers Brazil - 853.513.468-93 (This can also be passed as 85351346893) Argentina - 30-52135353-1 (This can also be passed as 30521353531) Tax Identifiers can be provided in two ways :
  1. On a Customer - [SDK,GraphQL] These can be added on a customer create or customer update. Once added to customer, the taxIdentifier will be securely vaulted and used during the transaction.
  2. On a Transaction - [SDK,GraphQL] Note: - The taxIdentifiers need to be provided on every call. These will not be vaulted and will be only used for processing.

Error CodesAnchorIcon

If tax identifier is not provided then Braintree will return an error code 2033 and error message Inconsistent Data

Supported Operations with EBANX:AnchorIcon

Note: Please use Braintree platform for Authorization, Capture, Charge, Void and Refund Operations. Performing these operations in EBANX without Braintree could lead to discrepancies and synchronization errors.
  1. Authorization [SDK,GraphQL]
Note: Braintree can support a maximum of 48 installments. EBANX might have different limitations related to installment amounts and the number of installments per country Link. If using installments, the transaction amount should be the total amount to charge the customer, including the installment fees Link.
  1. Capture [SDK, GraphQL]
Note: Partial Capture is only supported in Brazil, Guatemala and Costa Rica . If the amount is provided in the capture request (Beside for Brazil), and it is not equal to the authorized amount, the request will be declined, and the SETTLEMENT_DECLINED response will be returned. The authorized transaction in EBANX will not be updated and will be voided after 7 days. Once the transaction is in the SETTLEMENT_DECLINED state in Braintree, it cannot be updated.
  1. Charge (Authorization + Capture in one step) [SDK, GraphQL]
Note: Customer details are required for processing with EBANX. Creating customers within an authorization call is currently not supported.
  1. Void [SDK, GraphQL]
Note:
  • If a transaction is directly canceled by EBANX, and then the Braintree SDK or GraphQL API performs a void action on the transaction, the SDK or GraphQL API will respond with a success.
  • Using the ReverseTransaction mutation in the GraphQL API will void a transaction that is not in the SETTLED state, and will refund a transaction that is in the SETTLED state.
  1. Refund [SDK, GraphQL]
Note:
  • Refunds cannot be performed for an amount greater than the settled amount.
  • Credit card refunds processed more than 90 days after the original transaction will result in a different refund flow within EBANX. This flow results in a PENDING status to be returned and Braintree will not receive subsequent updates from EBANX on the refund status.
  1. Verifying a Card [GraphQL] Cards can be verified in various ways using the SDK, see this documentation for more details.

Response CodesAnchorIcon

Braintree can only display a limited number of response codes since transaction results are controlled by EBANX. When the EBANX decline codes cannot be mapped to a like-to-like Braintree decline codes, Braintree returns code 2000 with message Do Not Honor

Failure ResponsesAnchorIcon

Braintree Error CodeBraintree Error MessageEBANX Error CodeEBANX Error Message
2000Do Not HonorBP-REF-2Payment not found for merchant, hash: X
2001Insufficent FundsNOKInsufficient funds
2004Expired CardNOKExpired Card
2005Invalid Credit Card NumberNOKInvalid card or card type
2005Invalid Credit Card NumberNOKInvalid card number
2006Invalid Expiration DateNOKInvalid due date
2006Invalid Expiration DateBP-DR-57Parameter is in an invalid format: due_date. Correct Format: dd/MM/yyyy
2006Invalid Expiration DateBP-DR-67Field payment.creditcard.card_due_date is invalid
2010Card Issuer Declined CVVNOKSecurity code mismatch
2015Transaction Not AllowedNOKHigh risk transaction
2015Transaction Not AllowedBP-DR-113Customer document blocked by compliance
2019Invalid TransactionBP-DR-33Invalid value for instalments: X (single value)
2019Invalid TransactionBP-DR-34Invalid value for instalments: X (range)
2019Invalid TransactionBP-DR-79The amount of instalments is larger than the maximum allowed for merchant
2019Invalid TransactionBP-DR-89 The amount of instalments is not allowed – blocked values are: {payment.api.instalments.blocked}"
2024Card Type Not EnabledBP-DR-35Invalid payment_type_code: X
2024Card Type Not EnabledBP-DR-36Payment type is not active
2024Card Type Not EnabledBP-DR-38Payment type not allowed in Direct API (full mode): X
2025Set Up Error – MerchantBP-DPAR-4Invalid integration key
2027Set Up Error - AmountBP-DR-117Value per instalment cannot be lower than R$5.00
2029Setup Error - CardBP-R-11Payment type does not support instalments
2029Setup Error - CardBP-DR-97Instalment payments are not allowed for prepaid cards.
2029Setup Error - CardBP-DR-100Instalment payments are not allowed for debit cards
2033Inconsistent DataNOKBroken communication
2033Inconsistent DataNOKCommunication mismatch
2033Inconsistent DataBP-DR-15Field payment.email is required
2033Inconsistent DataBP-DR-22Field payment.document is required
2033Inconsistent DataBP-DR-23Field payment.document must be a valid {document}
2033Inconsistent DataBP-DR-98Customer Email Associated with multiple countries
2054Reversal amount does not match authorization amountBP-REF-6Refund amount is greater than payment amount: X and X
2054Reversal amount does not match authorization amountBP-REF-9Pending refund amount for payment would be greater than payment amount: X
2059Address Verification FailedNOKIncorrect customer data
2064Invalid Currency CodeBP-DR-3Field payment.currency_code is required
2064Invalid AmountBP-DR-5Field payment.amount_total is required
2103Invalid AmountBP-CAP-10Invalid Amount
3000FailedNOKNot accepted
3001ErrorNOKNot accepted
4004Already RefundedBP-REF-14Refund is already confirmed
4004Already RefundedBP-REF-17A refund already exists with this merchant_refund_code: X
4006Capture Amount Exceeded Allowable LimitBP-CAP-12 Payment cannot be captured, amount must be equal or less than {currency_code} {max_amount}
4001Settlement DeclinedBP-REF-5Refund amount must be positive
4001Settlement DeclinedBP-REF-7Payment status is not CO, cannot be refunded: X
4024Refund Time Limit ExceededBP-REF-19Credit card payment's open date is older than 85 days ago.

CaveatsAnchorIcon

ArgentinaAnchorIcon

  • Partial capture is not supported.
  • taxIdentifiers is required

BrazilAnchorIcon

  • 3DS required for debit card Authorization.
  • taxIdentifiers is required.

ChileAnchorIcon

  • Braintree doesn't support decimal in the amount field for Chile, and it must be an integer.
  • Partial capture is not supported.
  • Dynamic descriptors will not be supported.

Costa RicaAnchorIcon

  • 3DS required for non-recurrent transactions.

EgyptAnchorIcon

  • Partial capture is not supported.

PeruAnchorIcon

  • Partial capture is not supported.

MexicoAnchorIcon

  • Dynamic descriptors will not be supported.
  • Partial capture is not supported.

ParaguayAnchorIcon

  • Partial capture is not supported.
  • taxIdentifiers is required
  • Braintree doesn't support decimal in the amount field for Paraguay, and it must be an integer.

South AfricaAnchorIcon

  • 3DS is supported. Additional configuration is required.
  • taxIdentifiers is required (National ID or Passport ID).

UruguayAnchorIcon

  • Partial capture is not supported.
  • taxIdentifiers is required
  • Braintree doesn't support decimal in the amount field for Uruguay, and it must be an integer.

Test CardsAnchorIcon

Braintree provides a set of test card numbers that can be used in sandbox to test integrations. Merchants can use different card numbers to exercise various scenarios. However, with the EBANX integration there are some limitations because EBANX does not support the same set of test card numbers. When using the Braintree integration a subset of the Braintree test card numbers have been mapped to EBANX test card numbers. Because we map the credit cards in sandbox to facilitate end-to-end testing, there may be discrepancies in reporting in sandbox. However, in production, the card numbers are sent to EBANX directly without any modification.

Credit Cards | SuccessAnchorIcon

Card brandTest numberEBANX numberAutomatically mapped?
American Express378282246310005371449635398431βœ…
Diner's Club3625960000000430569309025904βœ…
Discover60110009913000096011111111111117βœ…
Mastercard55555555555544445555555555554444Pass-thru*
Visa41111111111111114111111111111111Pass-thru
* = For Mexico, this value will be treated as a debit card.

Credit Cards | FailureAnchorIcon

ScenarioTest numberEBANX numberAutomatically mapped?Braintree result
Insufficient funds40001111111111154716909774636285βœ…Processor Declined
Invalid Data51051051051051005102026827345142βœ…Processor Declined
Not Approved378734493671000378568775709157βœ…Processor Declined
Card Expired60110009901394246011088896715918βœ…Processor Declined

Debit CardsAnchorIcon

See the Debit vs. Credit section to ensure these transactions are configured correctly.
Card brandTest numberEBANX numberAutomatically mapped?
Visa40120000333301254242424242424242βœ…
For Mexico, the test card number 5555555555554444 will be treated as a debit card.

Mandatory FieldsAnchorIcon

  • Email is a mandatory field from Ebanx required for all countries.
  • Either of Customer's firstName or lastName is required. Both cannot be empty for all countries.
  • Tax Identifiers are mandatory required for countries
    • Brazil
    • Argentina
    • Paraguay
    • Uruguay
If any of these fields are not provided then Braintree will return an error code 2033 and error message Inconsistent Data

LimitationsAnchorIcon

Blind creditsAnchorIcon

Blind credits are not supported through EBANX.

WebHook SupportAnchorIcon

Currently webhooks are not supported via Braintree for this integration.

Dynamic descriptorsAnchorIcon

  • Dynamic descriptor support is limited with EBANX.
  • Values are limited to 10-15 characters based on locale.
  • This applies to all LATAM regions in EBANX. This is a limitation with the banks.
  • Brazil and Argentina do allow dynamic descriptors, however, they are limited and do not support URLs.

If you accept cookies, we’ll use them to improve and customize your experience and enable our partners to show you personalized PayPal ads when you visit other sites. Manage cookies and learn more