title: 一卡通pos接口协议 date: 2016-06-20 14:50:13 tags:

  • version: 1.3
版本日期作者说明
v1.32015-9-10汤成
v1.42016-6-22汤成增加账户查询黑名单版本接口

协议格式

请求格式说明

  • 数据包长度

请求数据包的长度,包括从命令字开始到CRC结束的长度; 2 bytes,低位在前

  • 命令字

请求包的命令字 ; 1 byte

  • 机号

终端机机号,1 byte

  • 数据包

请求数据包内容,变长数据

  • CRC

CRC 校验,从命令字到数据包计算CRC; 2 bytes,算法见

应答格式说明

  • 数据包长度

请求数据包的长度,包括从命令字开始到CRC结束的长度; 2 bytes,低位在前

  • 命令字

请求包的命令字 ; 1 byte

  • 机号

终端机机号,1 byte

  • 响应码

返回码, 1 byte

  • 数据包

请求数据包内容,变长数据

  • CRC

CRC 校验,从命令字到数据包计算CRC; 2 bytes,算法见

POS机主动请求接口

POS 签到接口

链路检查

  • 命令字

0xE0

  • 请求

设备物理ID号, 4 byte

  • 应答

设备物理ID号, 4 byte

心跳接口

  • 命令字

0xE2

  • 请求

设备物理ID号, 4 byte 终端SAM卡号,6 byte 终端时间,7 byte , 格式YYYYMMDDHH24MISS , 例如 20141223161044 设备流水号,4 byte 设备主参数版本号,4 byte 设备黑名单版本,6 byte 设备软件版本号,3 byte

  • 应答

系统时钟,7 byte, 格式 YYYYMMDDHH24MISS , 例如 141223161044 设备物理ID号, 4 byte 设备ID号, 4 byte 系统主参数版本, 4 byte 系统费率参数版本, 4 byte 设备主参数组ID, 4 byte 设备费率参数组ID,4 byte 系统黑名单版本号,6 byte

程序升级接口

  • 命令字

0xAA

  • 请求

设备物理ID号, 4 byte 请求序号, 2 byte , 0 ~ 65535 , 低位在前

  • 应答

返回序号,2 byte, 0 ~ 65535, 低位在前 标志为, 1 byte, 0 表示最后一个包 数据长度,1 byte 程序数据, 1 ~ 128 字节长度

POS 机在线消费

  • 命令字

0xB0

  • 请求

设备物理ID号, 4 byte 终端流水号, 4 byte 卡号, 3 byte 交易金额,3 byte 搭伙费/折扣金额, 2 byte 卡累计授信交易金额, 4 byte 卡中当前授信交易次数,2 byte 本期授信交易序号, 2 byte 本期授信余额, 3 byte, 有符号 标志, 1 byte, 第 3 bit 为 0 表示不更新授信额度,1 表示更新授信额度; 高4 bit定义见《树维终端POS机规范》

  • 应答

终端流水号, 4 byte 系统交易参考号,10 byte 系统记账日期,4 byte 账户余额,4 byte 需要密码确认, 1 byte, 1 表示需要确认,0 表示不需要 新授信额度成功标志,0 表示申请到新的额度,1 表示申请失败(可能余额不足) 新授信交易额度, 3 byte 新授信交易序号,2 byte

POS 联机消费密码确认

  • 命令字

0xB8

  • 请求

设备物理ID号, 4 byte 终端流水号, 4 byte 系统记账日期,4 byte 系统交易参考号,10 byte 确认标志, 1 byte, 1 表示确认成功,0 表示未成功

  • 应答

终端流水号, 4 byte 系统交易参考号,10 byte 系统记账日期,4 byte 账户余额,4 byte

POS 联机交易冲正

  • 命令字

0xB4

  • 请求

终端物理ID号,4 byte 终端流水号,4 byte 被冲正交易的流水号,4 byte 冲正标志,0 交易撤销(自动冲正), 1 交易冲正(手工冲正) 终端发生日期,3 byte 终端发生时间,3 byte

  • 应答

终端流水号

POS 机联系获取账户信息

  • 命令字

0xB2

  • 请求

卡号,3 byte 累计授信交易总额, 4 byte 授信交易次数,2 byte 本次授信余额,3 byte 授信批次号, 2 byte 终端物理ID号, 4byte

  • 应答

卡号,3 byte 账户可用余额, 4 byte, 有符号 账户冻结余额, 4 byte,有符号 卡有效期,4 byte 账户状态,1 byte , 第1-4 bit 表示卡状态;第 4 bit为 1 表示正常, 0 表示不正常;第 3 bit 为 1 表示挂失, 0 表示正常; 第 2 bit 为 1 表示冻结 , 0 表示正常;第 1 bit 为1表示坏卡, 0 表示正常 单次消费限额,2 byte, 无符号 日累计消费限额, 3 byte, 无符号 当前卡黑名单版本号,6 byte

POS 上传授信消费流水

  • 命令字

0xB6

  • 请求

上一笔交易时间 6 byte 上一笔设备物理ID 4 byte 上一笔流水号 4 byte 上一笔交易金额 3 byte 上一笔折扣搭伙 2 byte 上一笔剩余额度 3 byte (有符号) 上一笔授信交易编号 2 byte 上一笔授信交易标志 1 byte 交易时间 6 byte 终端流水号 4 byte 卡号 3 byte 消费金额 3 byte 折扣搭伙 2 byte 本期剩余额度 3 byte (有符号) 当日累计授信交易额度 3 byte 累计授信交易额度 4 byte 本次交易前次数 2 byte 本期授信交易编号 2 byte 消费标志 1 byte,见《005.树维一卡通消费终端接入规范(SW-YKT-005)》 设备物理ID号 4 byte 校验状态 1 byte, 1 表示正确, 0 表示错误

  • 应答

终端流水号

签到

  • 命令字

0xE1

  • 请求

设备物理编号 4 byte 终端机号 1 byte 终端时间 7 byte , 格式YYYYMMDDHH24MISS---- BCD SAM 卡号 6 byte 软件版本号 3 byte ,主-次-修正 黑名单版本 6 byte 费率版本 4 byte 主参数版本 4 byte 设备流水号 4 byte 启用标志 1 byte

  • 应答

启用状态 1 byte , 1 表示启用,0表示不启用 后台时间 7 byte 商户号 4 byte 终端编号 4 byte 设备ID 4 byte 系统参数版本号 4 byte 费率版本号 4 byte 时间段参数版本号 4 byte 后台黑名单版本号 6 byte MF1 卡密钥 8 byte 参数组ID 4 byte 费率组ID 4 byte keyindex 1 byte

更新黑名单

  • 命令字

0xE4

  • 请求

设备物理ID号, 4 byte 黑名单版本号 6 byte

  • 应答

名单数量, 2 byte, 最大 10 系统黑名单版本号, 6 byte 黑名单数据, 5 * 名单数量 byte; 其中 5 byte 格式为 4 byte卡号, 1 byte标志 0 表示挂失 1 表示解挂

更新黑名单位图

  • 命令字

0xE3

  • 请求

设备物理ID号, 4 byte 黑名单索引号, 2 byte ,从 0 开始 黑名单版本号 6 byte

  • 应答

结束标志, 1 byte , 2 表示是最后一块位图, 其它表示不是最后一块位图, 系统黑名单版本号, 6 byte 黑名单数据,256 byte

获取系统参数

  • 命令字

0xE5

  • 请求

设备物理ID号, 4 byte 参数组ID, 4 byte

  • 应答

日累计消费限额,4 byte 硬件版本, 2 byte 心跳间隔, 2 byte, 单位 秒 卡限额开关, 1 byte ; 0 关闭, 1 开启 最大卡余额,4 byte; 单位分 pos最大脱机使用天数, 2 byte; 单位天 卡最大使用次数, 4 byte; 最小卡余额, 2 byte; 单位 分 是否支持脱机, 1 byte; 0 关闭, 1 开启 单笔消费限额, 4 byte; 单笔消费限额, 单位分 默认管理员密码, 3 byte; 管理员密码, BCD 码 撤销开关, 1 byte; 0 关闭, 1 开启 超时时间, 2 byte; 超时时间,单位秒 扎帐点1, 2 byte ; BCD 码, 例如 0700 表示 早上 7:00 扎帐点2, 2 byte ; 同上 扎帐点3, 2 byte ; 同上 工作模式, 1 byte ; 保留 卡授信额度阀值,2 byte; 单位分

获取时间段参数

  • 命令字

0xE6

  • 请求

设备物理ID号, 4 byte 参数组ID, 4 byte

  • 应答

第一时段, 2 byte

下载费率参数

  • 命令字

0xE7

  • 请求

设备物理ID号, 4 byte 设备费率参数版本号, 4 byte

  • 应答

卡权限位图, 32 byte; 卡费率表,255 byte; 系统费率参数版本, 4 byte;

脱机流水上传

  • 命令字

0xA6

  • 请求

上一笔交易时间 7 byte 上一笔终端编号 6 byte 上一笔交易金额 3 byte 上一笔交易次数 2 byte 上一笔标志 1 byte 交易时间 7 byte 终端流水号 4 byte 卡号 4 byte 消费前余额 3 byte 消费前次数 2 byte 消费金额 3 byte 折扣搭伙费 3 byte 交易类型 1 byte TAC 4 byte 设备物理ID号, 4 byte 终端编号 6 byte

  • 应答

返回增一流水序列号 4 bytes,低位在前

扎帐流水

  • 命令字

0xA7

  • 请求

设备物理ID号, 4 byte 终端时间,6 byte , 格式YYMMDDHH24MISS , 例如 141223161044

  • 应答

系统时钟,6 byte, 格式YYMMDDHH24MISS , 例如 141223161044 系统黑名单版本号,6 byte 系统参数版本号, 4 byte, 整数, 低位在前

检查前置机物理链路

  • 命令字

0xE8

  • 请求

终端时间,6 byte , 格式YYMMDDHH24MISS , 例如 141223161044

  • 应答

系统时钟,6 byte, 格式YYMMDDHH24MISS , 例如 141223161044

前置机主动接口