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

Pix

How to use Pix to submit a payout in Brazil.

Post

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

Submit a payout by PIX in Brazil

This endpoint allows you to submit a payout by PIX 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 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 -
account*stringBeneficiary's PIX account
account_type*stringBeneficiary's PIX account type
- One of: CPF, CNPJ, EVP, PHONE, EMAIL -
method*stringFixed value: PIX
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.01, Max 100,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 length: 40 -
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
// system error
{
    "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]",
    * "amount": 150,
    * "arrival_currency": "BRL", // fixed value: BRL
    * "custom_code" : "custom_code9982674851738108",
    * "document_id": "22*******99",
    * "document_type": "CPF",
    * "fee_bear": "merchant",
    * "method": "PIX",   // fixed value: PIX
    * "notify_url": "https://notify.url",
    * "account": "22*******99",
    * "account_type": "CPF",  // should be one of CPF CNPJ PHONE EMAIL EVP
    * "source_currency": "BRL", 
    * "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.

Tip

In sandbox environment, please use **[email protected]_** as PIX account , and EMAIL as account_type for testing REJECTED payout, any other PIX account will be success (PAID).

Example of Document

Document TypeDocument IDDescription
CPF22*******9911 digits
CNPJ23**********3114 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​

Example of PIX account

Account TypeAccountDescription
CPF22*******9911 digits
CNPJ23**********3114 digits
Phone+5511987654321 or 11987654321country code (+55) is optional
Email[email protected]​
EVPA UUID-like string: a1073db4-a3a0-11ed-a8fc-0242ac120002alphanumeric string of 32 digits that is sent from the central bank to the institution
Next
BankTransfer