深圳硕软技术有限公司 技术支持中心 24小时服务电话:0755-82682968 在线远程协助QQ:2513402938
搜索:     高级搜索

外围对接模块开放协议

文章ID: 64
最近更新: 2016年 06月 22日
Revision: 19
添加评论
查看: 768
评论: 0
发表: 2016年 04月 05日
通过 Ltisn L.
更新: 2016年 06月 22日
通过 Ltisn L.

外围对接模块开放协议

一、适用对象
具备开发能力的第三方开发人员。

二、协议约定
地址:对接模块所在计算机的IP地址,若在服务器本机即为127.0.0.1,该地址在服务器的设备列表中配置。
端口号:外围对接模块的侦听端口,建议使用端口范围{60000-60999},为避免与操作系统常用端口冲突,请勿使用小于1024的端口。
通信方式:socket短连接
报文编码:所有报文字段使用JSON格式封装,GBK编码。

三、定单接收接口
功能描述:该接口用于服务器向外围对接模块发送定单交易请求。

序号 字段名 类型 长度 描述
1 action 字符串 2 交易指令 CZ:充值
2 chargeId 整形 - 定单流水号(必须保持原值返回)
3 chargeAcct 字符串 50 被充值账号 例如手机号码
4 chargeCash 金额 - 充值金额 以元为单位,精确小数点后三位 例如 100.000
5 chargeType 整形 - 业务类型
0:话费 1:Q币 2:QQ会员 3:游戏
4:水电气 5:流量 6:票务 7:固话 8:宽带 9:油卡
6 amount 整形 - 充值数量 默认为1,充值游戏时需要使用
7 faceValue 金额 - 单品面值 充值游戏时需要使用
8 var1 字符串 20 备用参数1
9 var2 字符串 20 备用参数2
10 var3 字符串 20 备用参数3
11 var4 字符串 20 备用参数4
12 productSn 整形 - 产品编码,特殊游戏商品需要用到该字段值
13 nbrArea 字符串 20 被充值账号的归属地
14 cardSn 字符串 30 充值卡卡号
15 cardPassword 字符串 30 充值卡密码
16 agentAcct 字符串 50 代理工号,多账号环境下需要用到
17 agentPass 字符串 50 代理工号密码
18 cardId 整形 - 充值卡ID,必须原值返回
19 retRsn 字符串 50 定单标识码,必须原值返回
20 sign 字符串 32

签名 按以下方法拼接参数的值及密钥取MD5值
md5(chargeId + chargeAcct + var1 + var2 + var3 + var4 + chargeCash + md5key)

例如下面的数据包,使用的md5key=bff0378ea5ef0d5d

{"action":"CZ","chargeId":196,"chargeAcct":"13530017201","chargeCash":100.000,"chargeType":0,"amount":1,"faceValue":100.000,"var1":"","var2":"","var3":"","var4":"","productSn":0,"nbrArea":"广东省深圳-移动","cardSn":"","cardPassword":"","agentAcct":"","agentPass":"","cardId":0,"retRsn":"0","sign":"8e6f40693e0380fdb0c504768e5e70ab"}

接收定单后,应立即同步返回一个应答,格式样例如下:
{"action":"CZ","chargeId":196,"retCode":0,"retDetail":"定单已接收","retRsn":"","sign":"6de2b30585c463d5fa6d7188400522ed"}

四、定单结果回调推送接口
功能描述:该接口用于外围对接模块向服务器推送定单交易结果,定单交易结束后,对接模块主动向服务器发送结果回调通知,回调接收端口: 50899 ,回调接收的IP地址在接收定单接口中确定,即接收定单时数据包的发送方IP地址。

序号 字段名 类型 长度 描述
1 action 字符串 2 交易指令 原值返回
2 chargeId 整形 - 定单流水号 原值返回
3 retCode 整形 - 交易结果 0:未处理 1:充值成功 2:充值结果不确定 3:充值失败
4 retDetail 字符串 100 交易结果的详细说明
5 retRsn 字符串 50 定单标识码,必须原值返回
6 userContent 字符串 100 可透传显示给下级用户的描述说明,如号码欠费、空号等提示信息。
7 retCost 金额 10 定单实际成本 以元为单位精确小数点后三位 例如: 99.100
8 retBalance 金额 15 代理账户余额,该余额用于管理端显示该端口模块的可用余额。
9 retCash 金额 10 实际成功金额,该字段用于返回部分成功的金额
10 sign 字符串 32 签名 按以下方法拼接参数的值及密钥取MD5值
md5(chargeId + retCode + retRsn + md5key)

异步回调通知样例数据包:
{"action":"CZ","chargeId":196,"retCode":1,"retDetail":"充值成功","retRsn":"","userContent":"","retCost":99.100,"retBalance":58921.980,"retCash":100.000,"sign":"30b0e1dc67695ebfd501ac1ab9fcb7fd"}

服务器接收到回调数据包后,会同步应答 OK ,外围程序接收到OK后就不要再发送回调数据包了。

这篇文章是:  
前一个   下一个
API查询接口(专用)     JAVA/C# API商户协议-多业务接口 充值DEMO