CNY Payout – BANK TRANSFER (CUSTOMER)
This guide explains how to initiate CNY payouts to customer accounts via bank transfer using the meCash API. Requests must be sent as multipart/form-data
with a stringified JSON payload under the transaction
field.
Endpoint
POST {{baseURL}}/v1/payout
Header
Header | Value | Required |
---|---|---|
x-api-key | YOUR_API_KEY | ✅ Yes |
Example Request (Customer Bank Transfer)
curl --location 'https://{{baseURL}}/v1/payout' \
--header 'x-api-key: YOUR_API_KEY_HERE' \
--form 'transaction="{
\"recipient\": {
\"name\": \"SILI\",
\"firstName\": \"feng\",
\"idType\": \"ID_CARD\",
\"idNumber\": \"331081199609218031\",
\"mobileNumber\": \"+123 456789\",
\"relationship\": \"EMPLOYEE\",
\"type\": \"CUSTOMER\",
\"invoiceNo\": \"\",
\"account\": {
\"name\": \"北京华海潮商贸有限责任公司\",
\"accountNumber\": \"6222040000030016\",
\"type\": \"INDIVIDUAL\"
},
\"paymentChannel\": \"BANK_TRANSFER\",
\"currency\": \"CNY\",
\"country\": \"CN\",
\"stored\": false
},
\"quoteId\": \"{{quoteIdCny}}\",
\"transactionPin\": \"123456\",
\"remark\": \"Testing\",
\"reason\": \"Gift\"
"}'
Request Breakdown
Headers
Header | Value Example | Description |
---|---|---|
x-api-key | API_KEY | API authentication key |
Form Data Parameters
Parameter | Type | Description |
---|---|---|
transaction | JSON | Stringified JSON transaction payload |
Transaction Object
Field | Type | Description |
---|---|---|
quoteId | String | Quote ID from FX pricing |
transactionPin | String | 6-digit security PIN |
remark | String | Internal reference note |
reason | String | Transaction purpose |
Recipient Object (Business)
Field | Type | Description |
---|---|---|
name | String | Legal business name |
firstName | String | Contact first name |
idType | String | ID type (ID_CARD ) |
idNumber | String | Government-issued ID |
mobileNumber | String | Contact number with country code |
relationship | String | Recipient relationship (EMPLOYEE ) |
type | String | Entity type (BUSINESS ) |
invoiceNo | String | Business invoice reference (optional) |
paymentChannel | String | Payment method (BANK_TRANSFER ) |
currency | String | Transaction currency (CNY ) |
country | String | Country code (CN ) |
stored | Boolean | Save recipient details |
Account Object
Field | Type | Description |
---|---|---|
name | String | Account holder name |
accountNumber | String | Corporate bank account number |
type | String | Account type (INDIVIDUAL ) |
Success Response (200 OK)
Returns a JSON response confirming the transaction was processed successfully.
{
"message": "Payout initiated successfully",
"status": "success",
"data": {
"transactionId": "txn_1234567890abcdef",
"quoteId": "qte_0987654321fedcba",
"status": "PENDING",
"created": "2025-05-20T12:00:00.000Z"
}
}
Error Handling
Status Code | Meaning | Example Response | How to Handle |
---|---|---|---|
400 | Invalid Bank Details | Invalid sort code for bank | Verify bank routing information |
400 | ID Validation Failed | Invalid business registration ID | Check government-issued ID |
400 | Invalid Transaction PIN | Invalid transaction authorization | Verify 6-digit PIN |
400 | Business Info Mismatch | Account name mismatch with registration | Ensure names match official records |