Endpoint
POST:https://sandboxapi.me-cash.com/v2/payout
Supported Payment Channels
CNY payouts support the following payment channel:| Channel | Description | Use Case |
|---|---|---|
BANK_TRANSFER | Standard bank transfer to a Chinese bank account | Business/Personal transfers |
Request Details
Headers
Include these headers in your request:| Header | Value | Required |
|---|---|---|
Content-Type | application/json | β Yes |
x-api-key | YOUR_API_KEY | β Yes |
Sample Requests
- BANK_TRANSFER
Use
BANK_TRANSFER for payouts to Chinese bank accounts.curl --location --request POST 'https://sandboxapi.me-cash.com/v2/payout' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"recipient": {
"name": "εΌ ε°ζ°",
"nickName": "{{$randomColor}}",
"occupation": "HEALTHCARE",
"icNumber": "130132**********10",
"relationship": "SELF",
"type": "BUSINESS",
"account": {
"accountNumber": "621700*********343",
"sortCode": "01026",
"bankName": "BAOSHANG BANK (ε
ειΆθ‘)",
"bankCity": "SHENZHEN"
},
"companyName": "ιΎε£εΈηζ°δΊιε·₯ε
·ζιε
¬εΈ",
"companyIdNumber": "913706**********6N",
"gender": "F",
"nationality": "CN",
"itemCategory": "PRD0003",
"itemType": "Pipe Wrench",
"quantity": 100,
"paymentChannel": "BANK_TRANSFER",
"currency": "CNY",
"country": "CN",
"stored": false
},
"quoteId": "91e58c2d-ef14-4777-906b-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}'
const url = 'https://sandboxapi.me-cash.com/v2/payout';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'x-api-key': 'YOUR_API_KEY'
},
body: JSON.stringify({
recipient: {
name: "εΌ ε°ζ°",
nickName: "{{$randomColor}}",
occupation: "HEALTHCARE",
icNumber: "130132**********10",
relationship: "SELF",
type: "BUSINESS",
account: {
accountNumber: "621700*********343",
sortCode: "01026",
bankName: "BAOSHANG BANK (ε
ειΆθ‘)",
bankCity: "SHENZHEN"
},
companyName: "ιΎε£εΈηζ°δΊιε·₯ε
·ζιε
¬εΈ",
companyIdNumber: "913706**********6N",
gender: "F",
nationality: "CN",
itemCategory: "PRD0003",
itemType: "Pipe Wrench",
quantity: 100,
paymentChannel: "BANK_TRANSFER",
currency: "CNY",
country: "CN",
stored: false
},
quoteId: "91e58c2d-ef14-4777-906b-xxxxxxxxxxxxx",
reason: "Gift",
remark: "Testing"
})
};
fetch(url, options)
.then(res => {
if (!res.ok) {
throw new Error(`HTTP error! status: ${res.status}`);
}
return res.json();
})
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
import requests
import json
url = "https://sandboxapi.me-cash.com/v2/payout"
payload = {
"recipient": {
"name": "εΌ ε°ζ°",
"nickName": "Lee",
"occupation": "HEALTHCARE",
"icNumber": "130132**********10",
"relationship": "SELF",
"type": "BUSINESS",
"account": {
"accountNumber": "621700*********343",
"sortCode": "01026",
"bankName": "BAOSHANG BANK (ε
ειΆθ‘)",
"bankCity": "SHENZHEN"
},
"companyName": "ιΎε£εΈηζ°δΊιε·₯ε
·ζιε
¬εΈ",
"companyIdNumber": "913706**********6N",
"gender": "F",
"nationality": "CN",
"itemCategory": "PRD0003",
"itemType": "Pipe Wrench",
"quantity": 100,
"paymentChannel": "BANK_TRANSFER",
"currency": "CNY",
"country": "CN",
"stored": False
},
"quoteId": "91e58c2d-ef14-4777-906b-xxxxxxxxxxxxx",
"reason": "Gift",
"remark": "Testing"
}
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
try:
response = requests.post(url, headers=headers, data=json.dumps(payload))
response.raise_for_status()
print(response.json())
except requests.exceptions.HTTPError as err:
print(f"HTTP Error: {err}")
Request Body Breakdown
- BANK_TRANSFER Fields
| Field | Type | Description | Required |
|---|---|---|---|
quoteId | String | The unique ID of the quote for this payout. | β Yes |
reason | String | The purpose of the transfer. | β Yes |
recipient | Object | An object containing all details about the person receiving the funds. | β Yes |
recipient.name | String | The full name of the recipient or business. | β Yes |
recipient.nickName | String | Recipient nickname. | β No |
recipient.occupation | String | Recipient occupation. | β No |
recipient.icNumber | String | Recipient identity card number. | β No |
recipient.relationship | String | Relationship with the recipient. | β No |
recipient.type | String | The type of recipient. Enum: INDIVIDUAL, BUSINESS. | β Yes |
recipient.paymentChannel | String | The payment method. Use BANK_TRANSFER. | β Yes |
recipient.currency | String | The ISO currency code. Must be CNY. | β Yes |
recipient.country | String | The recipientβs two-letter ISO country code. Must be CN. | β Yes |
recipient.account | Object | An object containing the recipientβs bank account details. | β Yes |
recipient.account.accountNumber | String | The recipientβs bank account number. | β Yes |
recipient.account.sortCode | String | Bank code / Sort code. | β No |
recipient.account.bankName | String | The name of the recipientβs bank. | β Yes |
recipient.account.bankCity | String | City of the bank. | β No |
recipient.companyName | String | Company name (required if type is BUSINESS). | β No |
recipient.companyIdNumber | String | Company identification number (required if type is BUSINESS). | β No |
recipient.gender | String | Gender of the recipient (M or F). | β No |
recipient.nationality | String | Nationality of the recipient (e.g., CN). | β No |
recipient.itemCategory | String | Category of items (e.g., PRD0003). | β No |
recipient.itemType | String | Type of item (e.g., Pipe Wrench). | β No |
recipient.quantity | Number | Quantity of items. | β No |
Success Response (200 OK)
If the payout is successfully created, the API returns the following response:copy
{
"message": "Transaction created successfully",
"status": "success",
"data": {
"id": "a1b2c3d4-e5f6-7890-abcd-xxxxxxxxxxxxx",
"invoice": "4b9b6d30-a2ed-421a-bd69-xxxxxxxxxxxx",
"reason": "Payment for goods",
"referenceNumber": "TXYZD6RWSQMKF",
"type": "SEND",
"state": "COMPLETED",
"quote": {
"id": "859b19e8-8a00-4d59-9970-xxxxxxxxxxxxx",
"source": {
"currency": "NGN",
"country": "NG",
"amount": 230000
},
"target": {
"currency": "CNY",
"country": "CN",
"amount": 1000
},
"rate": 230,
"fee": {
"amount": 100
}
},
"recipient": {
"name": "εΌ ε°ζ°",
"nickName": "Green",
"occupation": "HEALTHCARE",
"icNumber": "130132**********10",
"relationship": "SELF",
"type": "BUSINESS",
"account": {
"accountNumber": "621700*********343",
"sortCode": "01026",
"bankName": "BAOSHANG BANK (ε
ειΆθ‘)",
"bankCity": "SHENZHEN"
},
"companyName": "ιΎε£εΈηζ°δΊιε·₯ε
·ζιε
¬εΈ",
"companyIdNumber": "913706**********6N",
"gender": "F",
"nationality": "CN",
"itemCategory": "PRD0003",
"itemType": "Pipe Wrench",
"quantity": 100,
"paymentChannel": "BANK_TRANSFER",
"currency": "CNY",
"country": "CN"
},
"created": "2025-02-27T14:17:48.038044Z",
"processed": "2025-02-27T14:20:49.712685Z"
}
}
Response Breakdown
| Field | Type | Description |
|---|---|---|
message | String | A confirmation message indicating the result of the request. |
status | String | The overall status of the request. |
data | Object | A container for all the transaction data. |
data.id | String | The unique identifier for this payout transaction. |
data.state | String | The current state of the payout (COMPLETED, PENDING, etc.). |
data.quote.source.currency | String | The three-letter currency code of the source funds. |
data.quote.target.amount | Number | The converted amount that the recipient received. |
Best Practices
β EnsurequoteId is valid and linked to an existing quote.β Confirm that the recipientβs account number is correct for the destination bank.
β Use
recipient.country: "CN" and recipient.currency: "CNY".
