Common Conventions
Current Version
Current version: 1.0.0
Response Format
For all API errors, the HTTP status code is 500.
{
"code": 506800,
"message": "Merchant information error"
}
For normal responses:
Single record:
{
"data": {
"..."
}
}
Multiple records (to make it easy to distinguish, the key is list):
{
"list": [
{
"..."
}
]
}
message is returned in English by default. To get Chinese messages, set the header:
"Accept-Language": "zh-CN"
To get English messages, set the header (or leave it unset):
"Accept-Language": "en-US"
Normally, the HTTP status code is 200.
- This system uses an MD5 signature (see the signature documentation).
- Request/response content type is
application/json. - All API requests use
POST. - Field names are lowercase with underscores.
- Currency codes are uppercase.
- Country codes use ISO2 (2 lowercase letters, used to distinguish from currency).
- Time format:
yyyy-MM-dd HH:mm:ss(default timezone: UTC+8). - Amounts keep 2 decimal places. Note that
.00may be omitted; pay special attention during signing. - Because the system separates hot/cold data, we do not strictly enforce uniqueness of the merchant order number in our system. For correctness, you should still guarantee uniqueness in your own system.
Supported Currencies
| Code | Description | Country/Region/Market |
|---|---|---|
| USDT | Tether (USDT) | Default for all merchants |
| CNY | Chinese Yuan | cn |
| PKR | Pakistan Rupee | pk |
| BDT | Bangladeshi Taka | bd |
| IDR | Indonesian Rupiah | id |
| PHP | Philippine Peso | ph |
Error Codes
| Code | Meaning |
|---|---|
| 506413 | Invalid parameters |
| 506800 | Invalid merchant ID |
| 506801 | Merchant key is empty |
| 506802 | Invalid signature |
| 506803 | Failed to get channel |
| 506804 | No channel assigned |
| 506805 | Duplicate merchant order number |
| 506806 | Channel fetch failed |
| 506807 | Invalid channel (format error) |
| 506808 | Invalid amount |
| 506809 | Record not found |
| 506810 | No group information |
| 506811 | cur must be uppercase |
| 506812 | Upstream channel exception (maintenance, etc.) |
| 506813 | Channel cleared by backend (blacklisted merchant, etc.) |
| 506815 | Upstream channel returned an error |
| 506817 | Invalid currency type |
| 506818 | Amount exceeds limit |
| 506900 | Request IP is not in the configured whitelist |