Create Payout

Learn how to configure and send payouts using Bamboo’s Payouts API. Step-by-step instructions for building requests, selecting environments, and testing with payee and bank account data.

Payouts allow transferring funds from a Bamboo account to a recipient’s bank account, wallet, or instant payment system. This guide explains how to configure the environment, build the request, and test the API for payouts to individuals or companies.

Use the Staging or Production endpoints to initiate payouts, with properly formatted recipient, bank, and remitter data. For the full parameter list and error codes, see the API Reference →Create Payout.

📘

Some countries require extra fields (document type, bank format, purpose codes). Check the Country Guides before sending payouts.



Choose your environment

Bamboo provides two environments:

  • Staging for simulations and homologation (recommended first).
  • Production for live payouts.

Staging https://payout-api.stage.bamboopayment.com/api/payout

Production https://payout-api.bamboopayment.com/api/payout



Build the request

Send a POST with your credentials and the payout details.

Request Parameters

Parameter

Type

Required

Description

country

string(2)

Yes

ISO code of the country (ISO 3166-2).

amount

integer

Yes

Payout amount, with two implied decimals (e.g. 100 = $1.00).

currency

string(3)

Yes

Origin currency configured in your account.

destinationCurrency

string(3)

Yes

Currency received by the payee. Optional in USD2L and L2L models.

reason

string

No

Description of the payout.

reference

string

Yes

Unique identifier for the payout, defined by you.

type

integer

Yes

Payout type:

  • 1 Cash
  • 2 Bank Transfer
  • 3 Wallet
  • 4 Instant Payment (Pix o Bre-B)

paymentCode

string

Yes6

Payment purpose code in China.

notification_Url

string

No

Webhook endpoint to receive payout result notifications.

6 This field is required ONLY for China.


Payee Object

ParameterTypeRequiredDescription
payeeFirstNamestringYes¹First name of the payee.
payeeLastNamestringYes¹Last name of the payee.
payeeCompanyNamestringYes¹Company name.
payeeEmailstringNoPayee’s email address.
payeePhonestringNoPayee’s phone number.
payeeBirthdaydate timeNoDate of birth (YYYY-MM-DD).
payeeNationalitystringNoNationality (2-digit ISO code).
payeedocumenttypestringYesType of document (e.g., DNI, Passport).
payeedocumentnumberstringYesDocument number of the payee.

¹ The fields firstName and lastName are mandatory for natural persons, and companyName is mandatory for legal entities (companies). If a payout is sent to a company, only the companyName field must be completed, and if a payout is sent to an individual, only the firstName and lastName fields must be completed..

⚠️

Important:

  • The fields firstName and lastName do not support numbers or special characters, only letters. The companyName field does accept all types of alphanumeric characters.
  • The length of the combined firstName and lastName fields or the companyName field cannot exceed 35 characters.

Payee → Location

ParameterTypeRequiredDescription
payeelocationcitystringYes2City.
payeelocationaddressstringYes²Street address.
payeelocationzipCodestringNoPostal/ZIP code.

² These fields are mandatory only for bank transfers to Egypt.

⚠️

Important:

  • The field Location → City cannot exceed 20 characters.
  • The field Location → Address cannot exceed 35 characters.

Bank Account Object

Parameter

Type

Required

Description

payeebankaccountnumber

string

Yes³

Beneficiary’s account number (CBU, CLABE, CCI, etc.).

payeebankaccounttype

int

Yes³

1 = Checking, 2 = Savings.

payeebankaccountcodebank

string

Yes³

Bank code of the payee.

Review the Bank List per country

payeebankaccountswift

string

Yes5

SWIFT/BIC code when required by the destination bank.

³ When using Bank Transfers for Argentina, Chile, Colombia, Mexico, Peru, and Uruguay, these parameters are mandatory. For Instant Bank Transfers in Brazil, the payee.bankaccount object and its parameters must not be included in the request. For Bank Transfers to countries that require the bankaccount.Swift field, only bankaccount.number should be completed, while bankaccount.type and bankaccount.codebank must be left empty..

5 These fields are required for bank transfers ONLY to the following countries: Bolivia, Bosnia and Herzegovina, Bulgaria, China, Costa Rica, Ecuador, Egypt, El Salvador, Guatemala, Honduras, Israel, Nicaragua, Norway, Panama, Paraguay, the Dominican Republic, and Turkey.

⚠️

Important:

  • The combined length of the fields Remitter -> firstName and Remitter -> lastName or Remitter -> companyName cannot exceed 35 characters.
  • The field Remitter → location → Address cannot exceed 35 characters.


PIX Key (for Brazil) or Bre-B (for Colombia)

Parameter

Type

Required

Description

InstantPaymentData → Document

string

Yes⁴

Pix: The beneficiary’s CPF/CNPJ number configured as the Pix key. The number of digits for CPF must be 11 and for CNPJ must be 14. Breb: The beneficiary’s document number configured as the Breb key.

InstantPaymentData → Email

string

Yes⁴

Pix and Breb: The beneficiary’s email address configured as the Pix or Breb key. This parameter must be a valid email address.

InstantPaymentData → Phone

string

Yes⁴

Pix: The beneficiary’s phone number configured as the Pix key. The number must start with +55. Breb: The beneficiary’s phone number configured as the Breb key. The number MUST NOT include +57.

InstantPaymentData → Random

string

Yes⁴

Pix and Bre-B: The random key the beneficiary has generated as a Pix or Bre-B key.

InstantPaymentData → Commerce

string

Yes⁴

Identifier key for businesses.

⁴ Applies only to Brazil (PIX) or Colombia (Bre-B) when using type InstantPayment. Otherwise, the payee.InstantPaymentData object and its parameters must not be included in the request..


Remitter Object

ParameterTypeRequiredDescription
remitterfirstNamestringYes5Remitter’s first name.
remitterlastNamestringYes5Remitter’s last name.
remittercompanyNamestringYes5Remitter’s company name (if applicable).
remitterbirthdayDateTimeNoRemitter’s date of birth (YYYY-MM-DD).
remitterCountryIsoCodestringNoRemitter’s country of residence (2-digit ISO).
remitterlocationCitystringNoRemitter’s city.
remitterlocationAddressstringYes5Remitter’s physical address.
remitterlocationZipCodestringNoRemitter’s postal/ZIP code.

5 These fields are required for bank transfers ONLY to the following countries: Bolivia, Bosnia and Herzegovina, Bulgaria, China, Costa Rica, Ecuador, Egypt, El Salvador, Guatemala, Honduras, Israel, Nicaragua, Norway, Panama, Paraguay, the Dominican Republic, and Turkey.



Test the API

Now that you know how to create a payout, you can explore the API Reference for more details: