API文档
简体中文

快速开始

接入准备

请和商务沟通后获取到 API Key,API key一旦绑定了IP地址,则只能从绑定的IP地址使用该API key调用API接口。出于安全考虑,强烈建议您为API key绑定相应的IP地址。

必记住以下信息:

签名方式

## shell 加密方法

$ echo -n 'api_key=cA66c6dd9523835-kSSRJkJSJNDNRSkND-8s66c6dd952384f-4g66c6dd9523852&timestamp=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}&timestamp={$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&timestamp=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 失败