概述
虚拟卡对接文档
API 请求¶
请求地址¶
https://cbs.chezhu365.com/api/cbs/v1.php
提交方式¶
使用 HTTP 请求,通过 POST 方式提交, header 为
Content-Type:application/json
请求参数¶
公共参数,每个业务请求里都 必须 携带,拼接到请求地址后面,参数顺序可调换
名称 | 描述 | 取值说明 |
---|---|---|
clientId | 对接唯一标识,由平台提供 | 16位,如 abcdef0123456789 |
timestamp | 时间戳 | 1970-01-01至今秒数,如:1571910081 |
action | 请求方法,见各业务接口 | 如:recharge |
nonceStr | 随机字符串,不超过 32 位 | 如:abcdef0123456789 |
sign | 签名 | 详情见 签名规则 |
业务参数,JSON 格式,见具体业务接口说明。如无业务参数,请传递 {}
{
"key1": "value1",
"key2": "value2"
}
请求示例
POST /api/cbs/v1.php?clientId=clientId×tamp=timestamp&action=action&nonceStr=nonceStr&sign=sign HTTP/1.1
Host: cbs.chezhu365.com
Content-Type: application/json
Content-Length: 49
{
"key1": "value1",
"key2": "value2"
}
数据响应¶
返回数据格式为 JSON 格式。
名称 | 描述 | 取值说明 |
---|---|---|
code | 请求结果,如:00000 为操作成功 | 返回值见 结果码 |
message | 返回信息 | 失败时返回失败的原因 |
data | 处理结果 | 业务响应数据,详情见业务接口说明 |
返回示例
{
"code": "00000",
"message": "",
"data":
{
"number": "99157199576620958872",
"cardCode": "99157199576620958872"
}
}
签名规则¶
签名对象:所有的 公共参数 ( sign 除外)(加密的字符串均为 URL编码前 的字符串!)
- 按照键的 ASCII 码从小到大排序
- 用 = 号拼接键与值,如 key1=value1
- 不同键值对之间用 & 拼接,如:key1=value1&key2=value2
- 在拼接好的字符串后加上 &clientSecret=${clientSecret}(${clientSecret} 为平台提供的密钥)
- 将字符串用 md5 进行加密得到 sign(32位小写字符串)
签名示例:
-
密钥
e10adc3949ba59abbe56e057f20f883e
-
加密前字符串
action=recharge&clientId=abcdef0123456789&nonceStr=abcdef0123456789×tamp=1571910081&clientSecret=e10adc3949ba59abbe56e057f20f883e
-
加密结果:
26868a489e0fc5022402fd991a817685
-
请求示例:
POST /api/cbs/v1.php?action=recharge&clientId=abcdef0123456789&nonceStr=abcdef0123456789×tamp=1571910081&sign=26868a489e0fc5022402fd991a817685 HTTP/1.1 Host: cbs.chezhu365.com Content-Type: application/json Content-Length: 49 { "key1": "value1", "key2": "value2" }
结果码¶
结果码 code 枚举及说明
名称 | 描述 |
---|---|
00000 | 下单成功或查询成功等成功操作 |
40000 | json 数据格式错误 |
40001 | 参数缺失,如未传递公共参数中的 clientId,timestamp 等 |
40002 | 请求时间 timestamp 误差超过10分钟 |
40003 | 调用方法 action 不可用 |
40004 | 账号不存在 |
40005 | sign 签名验证失败 |
40006 | IP 不在白名单内 |
40101 | requestId 已存在 |
40102 | originalRequestId 找不到记录 |
40103 | cardCode 找不到卡号 |
40104 | 产品ID和面值不匹配 |
40105 | 余额不足 |
40106 | 开始和结束日期间隔不能超过3天 |
50000 | 系统错误,请联系管理员 |