1、统一请求参数如下:
参数列表描述
参数名 |
类型 |
描述 |
备注 |
appId |
String |
商户唯一ID |
由平台提供 |
param |
String |
业务参数 |
Base64.encodeBase64String(Des (source串,appKey)) |
DES加密后成为二进制Bytes数组,然后通过Base64.
encodeBase64String将Bytes数组转为可视的字符串,该字符串即为param的值
业务请求参数见第二部分:接口描述
完整参数请求Request JSON示例如下:
{
"appId": "5b11886057",
"param":
"g9Gfx97qeC2FGCfapbCaSi0m0+QBWzzPvlifHi/2siSkVH8MtDCFL+rlrndZplrurYqQ6pHfxyRmEES2r0hJmfMO2N+
QJGD2FMhPH89OylxRyHqdN9CNj4QyZEgOA/iLCFLMkXgObj4qXSf3eZt26UZdpvIEm8Jbs60ONsZfOnfm+
ELJnuuxCfij49gpA0i3VNIRiqQyrGrSBAZE/bNx4t2MjW4DFoKfYhrbh6uFM6s="
}
2、统一接口返回数据格式如下
参数名 |
类型 |
描述 |
备注 |
status |
Int |
接口返回状态 |
(每个接口返回码详见第二部分具体参数描述) |
data |
JSON |
返回业务数据实体 |
(每个接口返回业务参数详见第二部分具体参数描述) |
msg |
String |
接口状态描述 |
|
throwable |
String |
扩展字段,暂时不用 |
|
3、沙箱接口测试地址
沙箱接口测试地址:http://platform.17bst.com/sandbox
1、产品查询
① 请求地址:http://platform.17bst.com/charge-api/product/getProductList
② 请求方式:POST
③ 业务请求source参数列表:
参数名 |
参数类型 |
描述 |
备注 |
agtPhone |
String |
代理号码 |
由平台提供 |
业务请求参数示例(source串):
{
"agtPhone": "15889640829"
}
④ 返回业务参数说明
参数名 |
参数类型 |
描述 |
备注 |
productCode |
Number |
产品编号 |
|
businessCode |
Number |
业务类型编号 |
|
arriveType |
Number |
到账类型 |
0 慢充;
1 正常;
2 快充;
|
provinceId |
Number |
省份编号 |
|
cityId |
Number |
城市编号 |
|
province |
String |
省份名称 |
|
city |
String |
城市名称 |
|
tradeFace |
Number |
面额 |
|
price |
Number |
原价 |
|
businessName |
String |
业务类型名称 |
|
discount |
Number |
折扣系数 |
status状态码、msg错误 对应表
status |
msg |
1000 |
查询成功 |
1013 |
代理号码不存在 |
1003 |
其他错误 |
完整冲正接口返回Response JSON示例:
{
"data": [
{
"productCode": 8,
"businessCode": 1,
"arriveType": 1,
"provinceId": 200,
"cityId": -1,
"province": "广东",
"city": null,
"tradeFace": 500,
"price": 500,
"discount": 96.89
},
{
"productCode": 12,
"businessCode": 1,
"arriveType": 1,
"provinceId": 200,
"cityId": -1,
"province": "广东",
"city": null,
"tradeFace": 100,
"price": 100,
"discount": 97.33
},
{
"productCode": 18,
"businessCode": 3,
"arriveType": 1,
"provinceId": 200,
"cityId": -1,
"province": "广东",
"city": null,
"tradeFace": 300,
"price": 500,
"discount": 89.56
}
],
"status": 1000,
"throwable": null,
"msg": "产品查询成功"
}
1、代理商余额查询
① 请求地址:http://platform.17bst.com/charge-api/trade/queryAgtBalance
② 请求方式:POST
③ 业务请求source参数列表:
参数名 |
参数类型 |
描述 |
备注 |
agtPhone |
String |
代理号码 |
由平台提供 |
tradePwd |
String |
交易密码 |
由平台提供 |
业务请求参数示例(source串):
{
"agtPhone": "13412341234",
"tradePwd": "1bbd886460827015e5d605ed44252251"
}
④ 返回业务参数说明
参数名 |
参数类型 |
描述 |
备注 |
credit |
Number |
保证金余额 |
单位元 |
freeze |
Number |
冻结金额 |
单位元 |
profit |
Number |
佣金余额 |
单位元 |
status状态码、msg错误 对应表
status |
msg |
1000 |
查询成功 |
1013 |
代理号码不存在 |
1004 |
交易密码错误 |
1003 |
服务器内部错误 |
完整冲正接口返回Response JSON示例:
{
"data": {
"credit": 917.279,
"freeze": 210,
"profit": 10.2
},
"status": 1000,
"throwable": null,
"msg": "查询成功"
}
1、卡券交易提交订单
① 请求地址:http://platform.17bst.com/charge-api/trade/ecoupon
② 请求方式:POST
③ 业务参数source包描述:
参数名 |
参数类型 |
描述 |
备注 |
agtPhone |
String |
代理号码 |
必填 |
productCode |
Int |
产品编码 |
必填 |
reqStreamId |
String |
商户请求流水号 |
必填,不能够重复 |
amount |
Int |
采购数量 |
必填 |
tradePwd |
String |
交易密码 |
必填 md5(交易密码) ,32位小写md5密文 |
receiveUrl |
String |
String 接收卡密数据的邮箱 |
非必填 邮箱地址必带”@”符
|
receivePhone |
String |
接收解密压缩文件的验证码 |
非必填 压缩文件为邮箱接收的文件 |
请求source明文串:
{
"agtPhone": "15889642221",
"productCode": "69",
"reqStreamId": 2017020309223010002,
"amount": "3",
"tradePwd": 202cb9622c59075b964b07152d234b70,
"receiveUrl": "xx@xx.com",
"receivePhone": "13xxx"
}
④ 返回业务参数说明
参数名 |
参数类型 |
描述 |
备注 |
reqStreamId |
String |
请求方充值流水号 |
|
orderNo |
String |
平台订单号 |
|
status |
int |
返回状态码 |
|
msg |
返回状态描述 |
交易时间 |
|
cardNum |
String |
卡号 |
|
cardPwd |
String |
卡密 |
Des加密,获取后需解密 |
expiretime |
String |
有效截止日期 |
yyyy-MM-dd |
状态码对应表:
status状态码、msg错误 对应表
status |
msg |
1000 |
充值成功(成功) |
1000 |
交易成功 等待回调 |
1001 |
交易失败 |
1003 |
交易异常、需主动查询结果 |
完整返回参数示例:
{
"data": [
{"cardNum":"xx","cardPwd":"xx","expiretime":”xx”},
{"cardNum":"xx","cardPwd":"xx","expiretime":”xx”}
],
"status": 1000,
"msg": "充值成功"
"reqStreamId": "201605271125260035",
"orderNo": "0000000000294930",
}
1、卡券数据查询接口
① 请求地址:http://platform.17bst.com/charge-api/trade/getCardInfo
② 请求方式:POST,application/json
③ 业务请求source参数列表:
参数名 |
参数类型 |
描述 |
备注 |
reqStreamId |
String |
请求方原充值流水号 |
|
agtPhone |
String |
代理号码 |
必填 |
tradePwd |
String |
交易密码 |
必填 md5(交易密码) ,32位小写md5密文 |
业务请求参数示例(source串):
{
"reqStreamId": "201606161725120324",
"agtPhone": "15889640829",
"tradePwd": "202cb9622c59075b964b07152d234b70"
}
④ 返回业务参数说明
参数名 |
参数类型 |
描述 |
备注 |
reqStreamId |
String |
请求方充值流水号 |
|
orderNo |
String |
平台订单号 |
|
status |
int |
返回状态码 |
|
msg |
String |
返回状态描述 |
|
cardNum |
String |
卡号 |
|
cardPwd |
String |
卡密 |
Des加密,获取后需解密 |
expiretime |
String |
有效截止日期 |
yyyy-MM-dd |
status状态码、msg错误 对应表
status |
msg |
客户端相应处理措施 |
1000 |
充值成功 |
成功处理 |
1001 |
充值失败 |
失败处理 |
1003 |
订单信息不存在 |
失败处理 |
完整查询接口返回Response JSON示例:
{
"data": [
{"cardNum":"xx","cardPwd":"xx","expiretime":”xx”},
{"cardNum":"xx","cardPwd":"xx","expiretime":”xx”}
],
"status": 1000,
"msg": "充值成功"
"reqStreamId": "201605271125260035",
"orderNo": "0000000000294930",
}