跳转至

概述

虚拟卡对接文档


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&timestamp=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编码前 的字符串!)

  1. 按照键的 ASCII 码从小到大排序
  2. = 号拼接键与值,如 key1=value1
  3. 不同键值对之间用 & 拼接,如:key1=value1&key2=value2
  4. 在拼接好的字符串后加上 &clientSecret=${clientSecret}${clientSecret} 为平台提供的密钥)
  5. 将字符串用 md5 进行加密得到 sign(32位小写字符串)

签名示例

  • 密钥

    e10adc3949ba59abbe56e057f20f883e
    

  • 加密前字符串

    action=recharge&clientId=abcdef0123456789&nonceStr=abcdef0123456789&timestamp=1571910081&clientSecret=e10adc3949ba59abbe56e057f20f883e
    

  • 加密结果:

    26868a489e0fc5022402fd991a817685
    

  • 请求示例:

    POST /api/cbs/v1.php?action=recharge&clientId=abcdef0123456789&nonceStr=abcdef0123456789&timestamp=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 系统错误,请联系管理员