Print

1、签名规则

签名生成的通用步骤如下

第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序);

◆ 如果参数的值为空不参与签名;

◆ 参数名区分大小写;

◆ 验证调用返回或系统主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。

第二步:在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

如请求系统参数如下:

    Map signMap = new HashMap<>();
    signMap.put("appId", "test01");
    signMap.put("mobile", "18698798721");
    signMap.put("productNo", '2110000050000');
    signMap.put("amount", 50);
    signMap.put("orderNo", "12345");
    signMap.put("notifyUrl", "xxxxxx");

待签名值:amount=50&appId=test01&mobile=18698798721&notifyUrl=xxxxxx&orderNo=12345&productNo=2110000050000&key=EWEFD123RGSRETYDFNGFGFGSHDFGH


签名结果:7864F84DE809CE3FA0C080FB516FD991
##### 备注 appId 和 key请到代理商户后台 “账户管理 - 账户信息” 中查看

2、充值提交

简要描述
请求URL
请求方式
参数
参数名 必选 类型 说明
appId string appId,可后台查看
mobile string 长度11
productNo string 具体值看下面商品NO
amount string 金额元
orderNo string 订单号,长度最大30位
notifyUrl string 异步通知地址,长度最大300位
sign string 见签名规则
返回示例
{
    "code": 200,
    "msg": "",
    "data": {
        "moblie": "18676709241",
        "orderNo": "22222222222",
        "tradeNo": "2020092817541471344"
    }
}
返回参数说明
参数名 类型 说明
code int 返回码
msg String 返回信息
data json 成功返回数据
moblie String 手机号码
orderNo String 商户订单号
tradeNo String 交易订单号
商品NO说明
商品编号 商品名称
23100000200101 全国联通200话费
23100000100101 全国联通100话费
2310000050101 全国联通50话费
22100000200101 全国电信200话费
22100000100101 全国电信100话费
2210000050101 全国电信50话费
21100000200101 全国移动200话费
2110000050000 全国移动50话费
21100000100000 全国移动100元话费
备注
错误码表
code msg
200 OK
999 异常
100 sign不正确
101 请求ip不在白名单
110 参数异常
120 商品不存在
121 充值金额和商品编号不对应
130 商户appId错误
131 商户被冻结
132 商户被注销
140 平台维护中
144 产品运营商和号码不匹配
141 省份维护中
142 运营商维护中
143 号码黑名单中
144 号码提交太频繁
145 号码信息获取失败
150 订单已经存在
151 订单不存在
160 账户被冻结
161 账户异常
162 账户余额不足
163 未知交易类型
164 支付其他错误
165 账户不存在
170 商品没设置供货商
171 找不到合适的供货商
172 没有供货商接口
173 供货繁忙

3、异步通知结果

简要描述
请求URL
请求方式
参数名 必选 类型 说明
tradeNo string 平台交易订单号
orderNo string 代理商户订单号
orderStatus int 1:处理中,2:成功,3:失败,9:未确认
amount int 充值金额,单位元
mobile string 手机号
carrierOrderNo string 运营商流水号
sign string 见签名规则
返回示例
  {
      "tradeNo": "123",
      "orderNo": "12154545",
      "orderStatus": 2,
      "amont": 20 ,
      "mobile": "1436864169",
      "carrierOrderNo": "1008634343242343434",
      "sign":"-----"
    }
备注

4、订单查询

简要描述
请求URL
请求方式
参数
参数名 必选 类型 说明
appId string 用户名
tradeNo string 平台交易号
sign string 签名
返回参数说明
参数名 类型 说明
code int 200查询成功,其他查询失败
msg string 描述信息
data json 成功返回信息
orderNo string 商户订单号
tradeNo string 平台交易号
productNo string 商品编号
orderStatus int 1:处理中,2:成功,3:失败,9:未确认
moblie string 手机号
facePrice string 订单面值(元)
carrierOrderNo string 运营商流水号
返回示例
{
    "code": 200,
    "msg": "OK",
    "data": {
        "orderNo": "22222222233",
        "tradeNo": "2020111013362583735",
        "productNo": "2110000050000",
        "orderStatus": 3,
        "moblie": "13670074035",
        "facePrice": "50"
    }
}

5、余额查询

简要描述
请求URL
请求方式
参数
参数名 必选 类型 说明
appId string 用户名
sign string 签名
返回参数说明
参数名 类型 说明
code int 200查询成功,其他查询失败
msg string 描述信息
data json 成功返回信息
totalBalance string 余额(元)
credit string 授信(元)
返回示例
{
    "code": 200,
    "msg": "OK",
    "data": {
        "totalBalance": "-86.80",
        "credit": "10.00"
    }
}