Version: current

Create a Payout

About this guide

This guide quickly demonstrates how to create a payout in EBANX. We will walk you through the basic steps to achieve this goal using your already existing Direct API integration.

How it works

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

  1. Make sure you have all the mandatory fields in your request

    There are a few key parameters you need to provide to create a payout. Check the table below for more details.

    FieldDescription
    integration_keyYour unique and secret integration key.
    external_referenceThe unique payout ID provided by you.
    countryThe two-letter country code for the customer country. In this case, we'll use co (Colombia)
    amountThe amount in the specified currency (currency_code).
    currency_codeThree-letter code of the payout currency. Available currency codes: USD, MXN (Mexico), CLP (Chile), BRL (Brazil) and COP (Colombia)
    payeeA JSON object containing the details of the payee of your request.
    Payee Details

    Note that you can either provide all the information of the payee directly on you payout creation request or create the payee record in advance, using the /ws/payee/create endpoint, and simply provide the payee's document number in the payout request.

  2. Send your 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.ebanxpay.com/ws/payout/create' \
    -d 'integration_key=your_test_integration_key' \
    -d 'external_reference=PAYOUT_EBANX_04' \
    -d 'country=co' \
    -d 'amount=10' \
    -d 'currency_code=COP' \
    -d 'payee[name]=Han Solo' \
    -d 'payee[email]=chew@bac.ca' \
    -d 'payee[phone]=+57112345678' \
    -d 'payee[document]=853513468' \
    -d 'payee[document_type]=CC' \
    -d 'payee[birthdate]=1977-05-25' \
    -d 'payee[bank_info][bank_name]=1006 Banco Corpbanca Colombia S.A' \
    -d 'payee[bank_info][bank_account]=007520025' \
    -d 'payee[bank_info][account_type]=C' \
    -d 'payee[address][zipcode]=110111' \
    -d 'payee[address][state]=Bogota' \
    -d 'payee[address][city]=DC' \
    -d 'payee[address][street_address]=Fake Street' \
    -d 'payee[address][street_complement]=123'

    For Colombia only you have the option to create a payout for Nequi EWallet.

    curl -X POST 'https://sandbox.ebanxpay.com/ws/payout/create' \
    -d 'integration_key=your_test_integration_key' \
    -d 'external_reference=PAYOUT_EBANX_04' \
    -d 'target=ewallet_nequi' \
    -d 'ewallet_account_id=1234567890' \
    -d 'country=co' \
    -d 'amount=100' \
    -d 'currency_code=COP' \
    -d 'payee[name]=Han Solo' \
    -d 'payee[email]=chew@bac.ca' \
    -d 'payee[document]=853513468' \
    -d 'payee[document_type]=CC' \
    -d 'payee[birthdate]=1977-05-25'

    To create a payout for an organization entity (company) you should send additional fields holding the shareholders data:

    curl -X POST 'https://sandbox.ebanxpay.com/ws/payout/create' \
    -d 'integration_key=your_test_integration_key' \
    -d 'external_reference=PAYOUT_EBANX_04' \
    -d 'country=co' \
    -d 'amount=10' \
    -d 'currency_code=COP' \
    -d 'payee[name]=Han Solo' \
    -d 'payee[email]=chew@bac.ca' \
    -d 'payee[phone]=+57112345678' \
    -d 'payee[document]=9557588800' \
    -d 'payee[document_type]=NIT' \
    -d 'payee[birthdate]=2015-05-25' \
    -d 'payee[bank_info][bank_name]=1006 Banco Corpbanca Colombia S.A' \
    -d 'payee[bank_info][bank_account]=007520025' \
    -d 'payee[bank_info][account_type]=C' \
    -d 'payee[address][zipcode]=110111' \
    -d 'payee[address][state]=Bogota' \
    -d 'payee[address][city]=DC' \
    -d 'payee[address][street_address]=Fake Street' \
    -d 'payee[address][street_complement]=123' \
    -d 'payee[shareholders][0][name]=Roberto Carlos da Silva' \
    -d 'payee[shareholders][0][document]=5801760407' \
    -d 'payee[shareholders][0][document_type]=CC' \
    -d 'payee[shareholders][0][email]=roberto.carlos@mail.com.br' \
    -d 'payee[shareholders][0][birth_date]=1987-02-27' \
    -d 'payee[shareholders][0][zipcode]=110111' \
    -d 'payee[shareholders][0][state]=BogotaDC' \
    -d 'payee[shareholders][0][city]=Fake city' \
    -d 'payee[shareholders][0][address]=Fake street' \
    -d 'payee[shareholders][0][complement]=Centro' \
    -d 'payee[shareholders][0][ownership_percent]=51' \
    -d 'payee[shareholders][1][name]=Vanessa Ribeiro' \
    -d 'payee[shareholders][1][document]=571918250' \
    -d 'payee[shareholders][1][document_type]=CC' \
    -d 'payee[shareholders][1][email]=vanessa@mail.com.br' \
    -d 'payee[shareholders][1][birth_date]=1989-10-19' \
    -d 'payee[shareholders][1][zipcode]=110111' \
    -d 'payee[shareholders][1][state]=BogotaDC' \
    -d 'payee[shareholders][1][city]=Fake city' \
    -d 'payee[shareholders][1][address]=Fake Sstreet' \
    -d 'payee[shareholders][1][complement]=Centro' \
    -d 'payee[shareholders][1][ownership_percent]=49'

    For organizations, some fields are mandatory in shareholder set:

    • name
    • document
    • birthdate

    Observation: the document_type will be infered through document's length according the payout requested country.

    • For Colombia, it will be considered CC when the length is 10

    And a successful creation will return a JSON Object with type "success" and a payout object with all the details of the newly created Payout.

    {
    "type": "success",
    "payout": {
    "uid": "a1352f5341c3c8c1e40ea9c06715f05778ff35ee",
    "external_reference": "PAYOUT_EBANX_04",
    "status": "OP",
    "request_date": "2020-09-18 13:26:53",
    "status_date": null,
    "paid_date": null,
    "cancel_date": null,
    "payee": {
    "name": "Han Solo",
    "email": "chew@bac.ca",
    "phone": "57112345678",
    "document": "853513468",
    "document_type": "CC",
    "birthdate": "1977-05-25",
    "bank_info": {
    "bank_name": "1006 Banco Corpbanca Colombia S.A",
    "bank_branch": "",
    "bank_account": "007520025",
    "account_type": "C",
    "bank_details": ""
    }
    },
    "request_amount": "10.00",
    "request_currency": "COP",
    "request_exchange_rate": "1.0000",
    "debit_amount": "9.96",
    "debit_fee": "0.15",
    "debit_amount_total": "10.11",
    "debit_currency": "USD"
    }
    }
  3. Send a 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.ebanxpay.com/ws/payout/commit' \
    -d 'integration_key=your_test_integration_key' \
    -d 'uid=0e495f7a4409c032d54376084b10b9c771e9b39f0'

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

    {
    "type": "success",
    "message": "You've successfully started the Payout payment process!"
    }

Creating a Payout via Dashboard

You can also create a payout through your Dashboard in the Overview section of the Payout tab. Click on Create Payout, fill in the payee information, payout amount and click Create. Additionally, you can create a Mass Payout for up to 600 payouts.

Getting help

We hope this article was enlightening, but in case we’ve failed to take out your doubts you have the following options to keep on seeking for answers:

  • If you’re not our partner yet and would like to know more about our prices and conditions please fill ou this form and our comercial team will get in touch with you.
  • In case you’re already our partner please get in touch with our support team at integration@ebanx.com.
Last updated on by Ana Rodrigues