title: 一卡通v5平台WebSocket协议接口 date: 2017-04-27 13:45:23 tags:

一卡通v5平台WebSocket协议接口文档

日期版本说明
2017-4-27V1.0草稿

背景

一卡通平台所有终端设备,包括食堂POS、车载机、考勤机和前置等应用端需要能接收从服务端推送过来的数据,并完成相关业务。这些接入终端等都是Client。

接口

1 创建WebSocket连接

  • 从Client发起请求

    • action : 请求业务, "login"
    • needresp: 是否必须应答
    • requestid: 请求ID
    • data: 数据域
参数说明备注
clientidclientid客户端生成临时ID
local_time本地时间YYYYMMDDHH24MISS
devphyid设备物理ID
{
    "action": "login",
    "needresp: true,
    "requestid": "21232",
    "data": {
        "clientid": "123fabfdef19f",
        "local_time": "20170427132134",
        "devphyid": "10000008"
    }
}
  • server端返回数据
    • action : 请求业务, "login"
    • retcode: 响应码
    • retmsg: 返回信息
    • requestid: 请求ID
参数说明备注
host_time主机时间服务端返回系统时间
clientidclientid服务端原值返回
{
    "action": "login",
    "retcode": 0,
    "retmsg": "成功",
    "requestid": "21232",
    "data": {
        "clientid": "123fabfdef19f",
        "host_time": "20170427132135"
    }
}

2 扫码付中间过程请求

在扫码付业务流程中,当用户手机扫描二维码并成功请求二维码中的支付URL,服务端向对应Client 推送通知信息,Client 接收到这个返回后完成对应的业务流程

  • Server 端发起请求
    • action: 请求业务, "qrpay_in_process"
    • needresp: 是否必须应答
    • requestid: 请求ID
    • data: 数据域
参数说明备注
devphyiddevphyid设备ID号
refno交易参考号服务端交易初始化成功后生成
{
    "action": "qrpay_in_process",
    "needresp": true,
    "requestid": "5656565",
    "data": {
        "clientid": "123fabfdef19f",
        "refno": "20170427132134000001",
        "devphyid": "10000008"
    }

}
  • client端返回数据
    • action: 请求业务, "qrpay_in_process"
    • retcode: 响应码
    • retmsg: 返回信息
    • requestid: 请求ID
参数说明备注
host_time主机时间服务端返回系统时间
clientidclientid服务端原值返回
{
    "action": "qrpay_in_process",
    "retcode": 0,
    "retmsg": "成功",
    "requestid": "5656565",
    "data": {
        "devphyid": "10000008",
        "stuempno": "20140001",
        "custname": "张三"
    }
}

3 扫码付完成请求

当用户手机扫描付完成付款业务后,由Server端推送通知给Client。

  • Server 端发起

    • action: "qrpay_finish"
    • needresp: 是否必须应答
    • requestid: 请求ID
    • data: 数据域
参数说明备注
devphyiddevphyid设备ID号
refno交易参考号服务端交易初始化成功后生成
status交易状态succ: 成功, cancel: 取消
fail_reason交易取消原因当交易取消时存在
stuempno支付用户学号当交易成功时存在
custname支付用户名当交易成功时存在
amount支付金额单位分, 当交易成功时存在
availbal账户可用余额单位分, 当交易成功时存在
{
    "action": "qrpay_finish",
    "needresp": true,
    "requestid": "12345566",
    "data": {
        "refno": "20170427132134000001",
        "devphyid": "10000008",
        "status": "succ",
        "stuempno": "2014001",
        "custname" : "张三",
        "amount": 110,
        "availbal": 9420
    }
}
  • Client 端应答

    • action: 请求业务, "qrpay_finish"
    • retcode: 响应码
    • retmsg: 返回信息
    • requestid: 请求ID
参数说明备注
devphyiddevphyid设备ID号
refno交易参考号服务端交易初始化成功后生成
{
    "action": "qrpay_finish",
    "retcode": 0,
    "retmsg": "成功",
    "requestid": "12345566",
    "data": {
        "devphyid": "10000008",
        "refno": "20170427132134000001"
    }
}