快速开始
接入准备
请和商务沟通后获取到 API Key,API key一旦绑定了IP地址,则只能从绑定的IP地址使用该API key调用API接口。出于安全考虑,强烈建议您为API key绑定相应的IP地址。
必记住以下信息:
API KeyAPI 访问密钥Secret Key签名认证加密所使用的密钥
签名方式
## shell 加密方法
$ echo -n 'api_key=cA66c6dd9523835-kSSRJkJSJNDNRSkND-8s66c6dd952384f-4g66c6dd9523852×tamp=1724326435' | openssl dgst -sha512 -hmac '6566c6dd9523856-kSSRJkJSJNDNRSkNk-Dv66c6dd952385e-kSSRJkJSccJckDLJL-kn66c6dd9523866'
(stdin)= 0354954708f6a0f774489416d0aa0efab8d26583a6501b2e7786b7b00a6634c1525df6e9fe8191d238deb644da1537c39806e52f8e2df20eadfe21d521f4193d
## PHP 加密方法
$api_key = 'cA66c6dd9523835-kSSRJkJSJNDNRSkND-8s66c6dd952384f-4g66c6dd9523852';
$timestamp = '1724326435';
$api_secret = '6566c6dd9523856-kSSRJkJSJNDNRSkNk-Dv66c6dd952385e-kSSRJkJSccJckDLJL-kn66c6dd9523866';
$data = "api_key={$api_key}×tamp={$timestamp}";
$signature = hash_hmac('sha512', $data, $api_secret);
echo $signature;
第一步: 参数顺序排序后拼接
对所有请求参数(不包括 sign 参数),按照参数名ASCII码表升序顺序排序。如:foo=1, bar=2, foo_bar=3, baz=4 排序后的顺序是 bar=2, baz=4, foo=1, foo_bar=3。
将参数列表排列成一个 string。 用 & 分隔每个参数。对于上述参数,签名 payload 如下所示:
api_key=cA66c6dd9523835-kSSRJkJSJNDNRSkND-8s66c6dd952384f-4g66c6dd9523852×tamp=1724325685&user_id=10000008984
第二步: 计算签名
使用 api_secret 进行HMAC-sha512加密
API接入说明
请求格式
所有的API请求都是restful,目前只有两种方法:GET和POST。 - GET请求:所有的参数都在路径参数里 - POST请求: 路径里可以设置参数,参数可以以JSON格式发送在请求主体(body)里,没有参数的需要传{}
注意:在请求头中需要设置'Content-Type':'application/json'。
{
"status": 200,
"msg": "ok",
"extend": {
"date": "2025-05-13 21:10:44",
"unique": "682344d455c4c1603267073",
"runtime": "31.15 ms"
},
"data": {
"bill_id": 6697,
"vendor_id": 6667,
"vendor_card_id": 1000009,
"third_channel_id": 101,
"user_id": 10100009895,
"card_pool_id": 10275,
"vendor_business_card_id": "01JS1GJ1MG8NG5KW5HXZ5RWYR9",
"vendor_order_no": "409260691842767",
"client_order_no": "27d888ff-ee5e-4a02-9ce0-f031bdc5352b",
"bill_type": 4,
"vendor_bill_type": "5",
"currency_amount": "20.00000000",
"currency_id": 1,
"tx_item_id": 10007,
"tx_amount": "20.00000000",
"fee": "0.00000000",
"usdt_amount": "20.00000000",
"status": 3,
"direction": 2,
"trade_merchant": "SIMULATOR SINGAPORE SG",
"trade_time": 1745981662,
"trade_begin_time": 1745981662,
"card_balance": "0.00000000",
"refund_amount": "0.00000000",
"bill_json": "{\"account_amount\":\"20.00\",\"account_currency\":\"USD\",\"account_markup_amount\":\"0.00\",\"amount\":\"26.21\",\"cbs_transaction_id\":\"27d888ff-ee5e-4a02-9ce0-f031bdc5352b\",\"created_at\":\"2025-04-30T02:54:22Z\",\"currency\":\"SGD\",\"markup_amount\":\"0.00\",\"merchant_location\":\"SINGAPORE SG\",\"merchant_name\":\"SIMULATOR\",\"original_amount\":\"20.00\",\"original_currency\":\"USD\",\"state\":\"COMPLETED\",\"transaction_type\":\"PAYOUT\",\"type\":\"completion\",\"updated_at\":\"2025-04-30T02:54:22Z\",\"visa_transaction_id\":\"409260691842767\"}",
"create_time": 1745981787,
"update_time": 1745981787,
"created_at": "2025-04-30 10:56:27",
"updated_at": "2025-04-30 10:56:27"
},
"microtime": 1747141844382
}
基本参数
所有接口均需传入以下参数
| 参数 | 取值 | 必传 | 类型 | 备注 |
|---|---|---|---|---|
| api_key | 5G66cd41ab99651-EREDRERS | 是 | 字符串 | apiKey |
| timestamp | 1746783841 | 是 | 整数 | 请求时间戳秒 |
| sign | 9c062a8d614c84d0ea6debb... | 是 | 字符串 | 签名 |
返回格式
所有的接口返回都是JSON格式。在JSON的第一层有3个字段status,extend,msg和data。前两个字段表示请求状态和描述,实际的业务数据在data字段里。
以下是一个返回格式的样例:
| 字段 | 数据类型 | 描述 |
|---|---|---|
| status | int | 200:成功,其他失败 |
| msg | string | 状态或错误描述 |
| data | object | 业务数据 |
| microtime | bigint | 响应毫秒时间 |
业务状态码
如果失败,response msg 带有错误描述信息, 对应的状态码描述如下:
| 状态码 | 说明 | 备注 |
|---|---|---|
| 200 | 成功 | status=200 成功, status !=200 失败 |