TransfersmileTransfersmile
  • EN
  • PT
  • ES
  • EN
  • PT
  • ES
  • Introduction
  • Payin API
    • Environments
    • Direct integration
      • Brazil
        • Credit Card
        • Pix
        • Lottery
        • Boleto
        • Deposit Express
        • Wallet
    • Notification
      • Security
    • Payin Detail
    • Refund
    • Plug-in & Tools
      • transfersmile JavaScript
      • transfersmile SDK
      • Get CreditCard Token
      • Supported Bank List Query
      • Installment Detail Query
    • Data
      • Payment Method
      • Data for test (Sandbox)
      • Payin Status
      • Icon of methods
    • API Code
  • Payout API
    • Environments
    • Security
    • Submit a payout
      • transfersmile Wallet
        • WebView Example
        • H5 Authorization
        • Native App Authorization
        • Send Prizes
      • Brazil
        • Pix
        • BankTransfer
    • Notification
    • Payout DryRun
    • Account Balance
    • Payout Status
    • Payout List
    • Payout Detail
    • Payment Method
    • Data for test
    • Bank Code
      • Bank in Brazil
    • API Code

BankTransfer

How to use Bank Transfer to submit a payout in Brazil.

Post

https://sandbox.transfersmile.com/api/payout

Submit a payout by Bank Transfer in Brazil

This endpoint allows you to submit a payout by Bank Transfer in Brazil.

Parameters

Header

Content-Type*stringapplication/json; chartset=UTF-8
AppId*stringYour App ID in payout platform
Authorization*stringSHA256($sorted_params + $app_key)

Body

name*stringBeneficiary's name
- Length must between 5 and 100 -
phonestringBeneficiary's phone
- 0 ~ 15 digits -
emailstringBeneficiary's email
document_id*stringBeneficiary's personal identification number
document_type*stringBeneficiary's personal identification type
- One of: CPF, CNPJ -
bank_code*stringBank Code in Brazil, see** bank list **
branch*stringBank Branch Code
account*stringBeneficiary's Bank Account
- 4 ~ 12 digits -
account_type*stringBeneficiary's Account Type
- One of: SAVINGS, CHECKING -
account_digitstringAccount Digit
branch_digitstringBranch digit
method*stringFixed value: BANKTRANSFER
custom_code*stringMerchant Payout ID
- Max. 50 chars -
fee_bear*stringProcessing fee charges to merchant or beneficiary.
- One of: merchant beneficiary -
amount*stringPayout Amount, 2 decimal numbers
- Min 0.50, Max 1,000,000 -
amount_typestringSpecify the amount value is fixed for merchant or beneficiary
- One of: source_amount, arrival_amount(default) -
source_currency*stringMerchant Account Currency
- One of: USD, EUR, GBP, BRL -
arrival_currency*stringFixed value: BRL
notify_url*stringWhere transfersmile will send notification to.
additional_remark*stringDescriptor on the user's bank bill
- Max. 40 chars -
country*stringBRA for Brazil

Responses

200: OKsubmit successfully
{
    "code": 200,
    "msg": "success",
    "time": 1628580845,
    "data": {
        "id": "TS202108100734054iRiUZFPXfQM",
        "custom_code": "custom_code9982674851738108",
        "arrival_amount": "0.51",
        "arrival_currency": "BRL",
        "source_amount": "0.07",
        "source_currency": "USD",
        "status": "IN_PROCESSING"
    }
}
400: Bad Requestorder already existed
{
    "code": 4001010,
    "msg": "order already existed",
    "time": 1628580940,
    "data": {}
}
401: Unauthorizedunauthorized
{
    "code": 4004003,
    "msg": "permission denied",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
500: Internal Server Errorfee not configured
{
    "code": 5001003,
    "msg": "fee not configured",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
500: Internal Server Errorbalance insufficient
{
    "code": 5001102,
    "msg": "balance insufficient",
    "time": 1637224716,
    "data": {
        ... ...
    }
}
500: Internal Server Errorsystem error
{
    "code": 5001000,
    "msg": "system error",
    "time": 1637224716,
    "data": {
        ... ...
    }
}

Example

curl --location --request POST 'https://sandbox.transfersmile.com/api/payout' \
--header 'AppId: 94FAC**********************68548' \
--header 'Authorization: d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302' \
--header 'Content-Type: application/json' \
--data-raw '{
    * "name" : "GUILHERME ****** SOUZA",
      "phone": "",
      "email": "[email protected]",
    * "bank_code": "001",
    * "account_type": "CHECKING", // should be one of SAVINGS, CHECKING
    * "account": "6***8",
      "account_digit": "4",
    * "branch": "0**8",
    * "document_id": "12*******91",
    * "document_type": "CPF",  // should be one of CPF, CNPJ
    * "source_currency": "BRL", 
    * "arrival_currency": "BRL", // fixed value: BRL
    * "fee_bear": "merchant", // should be one of merchant, beneficiary
    * "method": "BANKTRANSFER", // fixed value: BANKTRANSFER
    * "amount": "1.80",
    * "notify_url": "https://notify.url",
    * "custom_code" : "custom_code9982674851738108",
    * "additional_remark": "transfersmile payout test remark",
    * "country": "BRA"  // fixed value: BRA
}

Tip

Note: 94FAC*****************68548 is transfersmile's test App ID for sandbox, and d6181db0d6548b94b162e75d095b59147172d914699f83b2bd17951a671b6302 is authorization token associated with the test App ID.

Example of Document

Document TypeDocument IDDescritpion
CPF22*******9911 digits
CNPJ23**********3114 digits

Example of Account

  • X --> Numeric character

  • D --> Alphanumeric character

Branch CodeAccountDescription
XXXXXXXX - XXXXXXXXXXXXX4 - 18 digits
XXXXDXXXX - XXXXXXXXXXXXX4 - 18 digits
XXXXDDXXXX - XXXXXXXXXXXXX4 - 18 digits

Third-party CPF/CNPJ Validator

  • Go:https://github.com/paemuri/brdoc​

  • Java: https://github.com/LuisGuadagnin/cpf-cnpj-handler​

  • Online:https://4app.net/tools/validator/document/cpf_validator​

Prev
Pix