Create Payout

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


🔐

Authentication

All payout creation requests must include the authentication headers described in the reference guide. Make sure to generate the DigitalSignature using the HMAC SHA-256 algorithm and include it in the request headers.


Build the request

Send a POST with your credentials and the payout details.

Request Parameters

ParameterTypeRequiredDescription
countrystring(2)YesISO code of the country (ISO 3166-2).
amountintegerYesPayout amount, with two implied decimals (e.g. 100 = $1.00).
currencystring(3)YesOrigin currency configured in your account.
destinationCurrencystring(3)YesCurrency received by the payee. Optional in USD2L and L2L models.
reasonstringNoDescription of the payout.
referencestringYesUnique identifier for the payout, defined by you.
typeintegerYesPayout type:
  • 1 Cash
  • 2 Bank Transfer
  • 3 Wallet
  • 4 Instant Payment (Pix o Bre-B)
paymentCodestringYes6Payment purpose code in China.
notification_UrlstringNoWebhook 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

ParameterTypeRequiredDescription
payeebankaccountnumberstringYes³Beneficiary’s account number (CBU, CLABE, CCI, etc.).
payeebankaccounttypeintYes³1 = Checking,
2 = Savings.
payeebankaccountcodebankstringYes³

Bank code of the payee.

Review the Bank List per country

payeebankaccountswiftstringYes5SWIFT/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)

ParameterTypeRequiredDescription
InstantPaymentData → DocumentstringYes⁴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.
Bre-B: The beneficiary’s document number configured as the Bre-B key.
InstantPaymentData → EmailstringYes⁴PIX and Bre-B: The beneficiary’s email address configured as the PIX or Bre-B key.
This parameter must be a valid email address.
InstantPaymentData → PhonestringYes⁴PIX: The beneficiary’s phone number configured as the PIX key. The number must start with +55.
Bre-B: The beneficiary’s phone number configured as the Bre-B key. The number MUST NOT include +57.
InstantPaymentData → RandomstringYes⁴PIX and Bre-B: The random key the beneficiary has generated as a Pix or Bre-B key.
InstantPaymentData → CommercestringYes⁴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: