Skip to main content

🇧🇷 Brazil

Learn everything you need to know about making payouts in Brazil.

Payment Methods

  • Pix Instant
  • Mercado Pago Instant
  • TED (Bank Transfer)

Available Operations

  • Local LATAM
  • Cross Border

Payee Types

  • B2B
  • B2C

Payment Methods​

Checkout our SLAs for each payment method:

Payment MethodSLAB2BB2C
PixPix< 2 minutescheck_circle_outlinecheck_circle_outline
Mercado PagoMercado Pago< 2 minutescheck_circle_outlinecheck_circle_outline
TED (Bank Transfer)TED (Bank Transfer)Up to 3 dayscheck_circle_outlinecheck_circle_outline

Instructions​

To create a payout using EBANX Direct API, follow the steps below.

  1. Define request parameters
    ​

    Provide the required parameters listed below to create a payout.

    FieldDescription
    integration_keyYour EBANX integration key.
    external_referenceThe unique payout ID provided by you.
    countryThe two-letter country code for the customer country. In this case, we'll show the method to br (Brazil)
    amountThe amount in the specified currency (currency_code).
    currency_codeThree-letter code of the payout currency. In this case, we'll use BRL (Brazil)
    payeeA JSON object containing the details of the payee of your request.
    targetThe payment method that will be used. Can be left empty and the payout target will be assumed as Bank Transfer. More info below.

    Document Types Allowed

    These document types are used to identify payees or shareholders.

    Document typeDescription
    CPFAn 11-digit Tax ID used to identify individuals.
    CNPJA 14-digit Tax ID used to identify companies.
  2. Send payout request to EBANX
    ​

    To create a new Payout, you will use the /ws/payout/create endpoint.

    The following example is a payout create request to the payee's bank account sending bank data with bank details:

    curl -X POST 'https://sandbox.ebanx.com/ws/payout/create' \
    --header 'Content-Type: application/json' \
    --data '{
    "integration_key": "your_test_integration_key",
    "external_reference": "PAYOUT_EBANX_04",
    "country": "br",
    "amount": 10,
    "currency_code": "USD",
    "payee": {
    "name": "Han Solo",
    "email": "chew@bac.ca",
    "phone": "+554112345678",
    "document": "85351346893",
    "document_type": "cpf",
    "bank_info": {
    "bank_name": "104 Caixa Econômica",
    "bank_branch": "3708",
    "bank_account": "08251777-6",
    "account_type": "C",
    "bank_details": "001"
    },
    "address": {
    "zipcode": "80320070",
    "state": "PR",
    "city": "Curitiba",
    "street_address": "Fake Street",
    "street_complement": "123"
    }
    }
    }'

    When onboarding payees in Brazil, you can trigger a self-onboarding flow by submitting partial data. This sends an automatic email to the payee to finalize their registration.

    When bank_details is not provided (or is null), the Operation value defaults to the following mapping:

    Document typeAccount TypeOperation
    CPFS (Savings)013
    CPFC (Checkings)001
    CNPJS (Savings)022
    CNPJC (Checkings)003
    warning

    The bank_details parameter is obligatory if the bank code is 104 (Caixa Econômica).

    Including bank_details in the payload overrides the self-onboarding process. The API will use the provided data directly instead of requesting it from the payee.

    curl -X POST 'https://sandbox.ebanx.com/ws/payout/create' \
    --header 'Content-Type: application/json' \
    --data '{
    "integration_key": "your_test_integration_key",
    "external_reference": "PAYOUT_EBANX_04",
    "country": "br",
    "amount": 10,
    "currency_code": "USD",
    "payee": {
    "name": "Han Solo",
    "email": "chew@bac.ca",
    "document": "85351346893",
    "document_type": "cpf"
    }
    }'

    Choose the payment method for your payout request:

    Identifying the Payee:

    You can initiate a Pix transfer using one of two methods:

    Pix using bank account info: Identify the payee using their bank account details.

    Pix Key: Identify the payee using a pix_key a unique code linked to their account. (See target_account for a list of valid key formats).


    The following example demonstrates a request to send a Pix transaction using the payee's bank account information.

    curl -X POST 'https://sandbox.ebanx.com/ws/payout/create' \
    --header 'Content-Type: application/json' \
    --data '{
    "integration_key": "your_test_integration_key",
    "external_reference": "PAYOUT_EBANX_04",
    "country": "br",
    "amount": 10,
    "currency_code": "BRL",
    "target": "pix",
    "payee": {
    "document": "08432961781",
    "document_type": "CPF",
    "name": "Carlos Machado",
    "email": "carlos_machado_pix@gmail.com",
    "bank_info": {
    "bank_name": "104 Caixa Econômica",
    "bank_branch": "3708",
    "bank_account": "08251777-6",
    "account_type": "C",
    "bank_details": "001",
    "bank_ispb": "00360305"
    }
    }
    }'
    tip

    You can use either bank_ispb or bank_name. We recommend choosing one of them.

  3. Send commit request to EBANX
    ​

    Once the new payout record is created it'll be committed automatically after 6 hours. Or you can use the /ws/payout/commit endpoint to start the payment process.

    Here's an example of a commit operation using the payout we've just created:

    curl -X POST 'https://sandbox.ebanx.com/ws/payout/commit' \
    --header 'Content-Type: application/json' \
    --data '{
    "integration_key": "your_test_integration_key",
    "uid": "0e495f7a4409c032d54376084b10b9c771e9b39f0"
    }'

    Once the new payout is commited, a JSON Object with type "success" will be returned.

    {
    "type": "success",
    "message": "Payout has already been committed"
    }
  4. Congratulations!
    ​

    You have successfully Created a Payout in Brazil.

Creating a Payout using the Dashboard​

You can also create a payout through our Dashboard in the Overview section of the Payout tab. Click on Create Payout, fill in the payee information, payout amount and click on Create. Additionally, you can create a Mass Payout by sending a spreadsheet to be processed in bulks.

BANK BRANCH CODE

Verify the bank branch code. For many digital banks, such as Nubank, Inter, and C6, the required branch is typically 0001. Entering a different number may cause the payment to be rejected.

Available Banks​

Bank CodeInstitution Name
001Banco do Brasil S.A.
033Banco Santander (Brasil) S.A.
104Caixa Econômica Federal
237Banco Bradesco S.A.
341Itaú Unibanco S.A.
260Nu Pagamentos S.A. (Nubank)
077Banco Inter S.A.
336Banco C6 S.A.
290PagSeguro Internet S.A.
380PicPay Serviços S.A.
323Mercado Pago
212Banco Original S.A.
655Banco Votorantim (Neon)
041Banrisul
070BRB – Banco de Brasília
748Sicredi
756Bancoob (Sicoob)
074Banco Safra S.A.
422Banco Safra (Carteira Digital)
654Banco Digimais (antigo Renner)
218Banco BS2 S.A.
069BPN Brasil / Crefisa
121Banco Agibank S.A.
318Banco BMG S.A.
208Banco BTG Pactual S.A.

Possible Errors​

Click here and check out our Payout Error Code page to learn more about the possible errors.

Still need help?

Help Image

We hope this article was helpful. If you still have questions, you can explore the following options: