Pay-Out · Brazil
About 3 min
Request
The Pay-Out API initiates disbursement transactions. This page is for Brazil (country code br). Pay-out uses PIX; mapping of bankCode / bankCard / accountName / taxNumber is in Regional Payment Guide — Brazil. In addition to generic checks, Brazil pay-out enforces PIX, amount, and tax-number rules as described below and in the regional guide.
Request URL
Domain: Prefer unified host
openapi.toppayment.com(path unchanged); legacy country domain (e.g.global-br-openapi.toppayment.com) remains available.
| Environment | URL |
|---|---|
| Sandbox | https://openapi.toppayment.com/sandbox/br/disbursement/cash |
| Production | https://openapi.toppayment.com/br/disbursement/cash |
PIX types (bankCode), bankCard (PIX key), and taxNumber — Regional Payment Guide — Brazil.
Request Header
| Field | Required | Type | Description |
|---|---|---|---|
| Content-Type | M | String | application/json |
Request Body
| Field | Required | Type | Description |
|---|---|---|---|
| mchNo | M | String(32) | Merchant number |
| orderNum | M | String(50) | Merchant order number |
| amount | M | Number(32,8) | Amount Brazil: positive, integer or at most 2 decimal places, not all zeros, no three or more decimal places. |
| accountName | M | String(50) | Beneficiary name (business field name)Max 50; Unicode letters, digits, spaces only. |
| bankCode | M | String(32) | PIX key type (business field pixType)Must be CPF, CNPJ, PHONE, EMAIL, or EVP (case-insensitive) — Regional Payment Guide — Brazil. |
| bankCard | M | String(50) | PIX account / key (business field pixAccount)Rules depend on bankCode: CPF/CNPJ → 11/14 digits after stripping non-digits; PHONE → +55 + 10–11 digits after removing spaces; EMAIL → valid email; EVP → 32 alphanumeric. See regional guide. |
| taxNumber | O | String(64) | Optional tax ID If present, after stripping non-digits must be 11 (CPF) or 14 (CNPJ) digits. |
| description | O | String(255) | Description |
| feeType | M | Number | Fee type 0: Deducted from order amount (net = amount − fee) 1: Fee separate (net = amount) |
| downNotifyUrl | M | String(164) | Callback URL |
| timestamp | M | String | Timestamp (13 digits) |
| sign | M | String | See Signature |
Request Body Example (CPF PIX; adjust bankCode / bankCard to your key type)
Content-type: application/json
{
"mchNo": "{{mchNo}}",
"orderNum": "BRPAYOUT1234561",
"amount": 100.50,
"accountName": "Maria Silva",
"bankCode": "CPF",
"bankCard": "52998224725",
"taxNumber": "52998224725",
"description": "test",
"feeType": 1,
"downNotifyUrl": "https://example.com/notify",
"timestamp": "1749451858772",
"sign": "Generate per signature rules and replace"
}
Response
HTTP Response
| Field | Required | Type | Description |
|---|---|---|---|
| Content-Type | M | String | application/json |
Response Body Parameters
| Field | Required | Type | Description |
|---|---|---|---|
| success | M | Boolean | Request success |
| code | M | String | 9999 = success; otherwise resolve via status codes before treating as final failure |
| msg | O | String | Message |
| timeStamp | M | Number | Server time (ms) |
| data | M | Object | Payload |
| orderNum | M | String | Merchant order number |
| platOrderNum | M | String | Platform order number |
| amount | M | Number | Amount |
| fee | M | Number | Fee |
| feeType | M | Number | Fee type |
| status | M | Number | Status — Transaction Status Codes |
| statusMsg | M | String | Status message |
| bankCode | M | String | PIX type — Regional Payment Guide — Brazil |
| bankCard | M | String | PIX key (masked or echoed) |
| accountName | M | String | Account name |
| description | O | String | Description |
Content-type: application/json
{
"success": true,
"code": "9999",
"msg": "SUCCESS",
"timeStamp": 1767772957433,
"data": {
"orderNum": "BRPAYOUT12345617",
"platOrderNum": "TRANS2008811496544403456",
"amount": 100.50,
"fee": 2,
"feeType": 1,
"status": 1,
"statusMsg": "ORDER_RECEIVED_PROCESSING",
"bankCode": "CPF",
"bankCard": "52998224725",
"accountName": "Maria Silva",
"description": "test"
}
}
Notification
HTTP Request
| Field | Required | Type | Description |
|---|---|---|---|
| Content-Type | M | String | HTTP request content type Fixed value: application/json Indicates JSON request format |
Notification Body
| Field | Required | Type | Description |
|---|---|---|---|
| platOrderNum | M | String | Platform order number System-generated internal transaction reference Used for internal transaction management and support |
| version | M | String | Version API version identifier Example: v1 |
| orderNum | M | String | Merchant order number Same as orderNum in the original request Used for transaction identification and verification |
| amount | M | Number | Transaction amount Confirmed transaction amount |
| fee | M | Number | Fee Fee charged for the transaction |
| feeType | M | Number | Fee type 1: Merchant bears the fee |
| status | M | Number | Transaction status See Transaction Status Codes |
| statusMsg | M | String | Status message Human-readable order status description |
| bankCode | M | String | PIX type See Regional Payment Guide — Brazil |
| bankCard | M | String | PIX account/key |
| accountName | M | String | Account name |
| description | O | String | Description |
| sign | M | String | Signature Digital signature of callback data |
Response
Important response
Notification response: Return only the string
SUCCESSto acknowledge receipt of the notification
{
"platOrderNum": "TRANS2008812168572567552",
"version": "v1",
"orderNum": "BRPAYOUT12345648",
"amount": 111.00,
"fee": 3,
"feeType": 1,
"status": 2,
"statusMsg": "supplement success!",
"bankCode": "CPF",
"bankCard": "52998224725",
"accountName": "Maria Silva",
"description": "test",
"sign": "…"
}
SUCCESS
