1.使用0x02(起始位)+消息长度(2字节)+消息体+0x03(结束位)+校验位来表示一条完整的消息。校验位=(消息长度+消息体+结束位)的异或值。
2.消息体由业务数据组成,使用GB2312字符编码。
3.业务数据以|符号分割,顺序按文档中的字段顺序。第1个字段为指令标识,第2个字段为指令版本号(下位机响应数据时取上位机请求数据中的版本号即可)。
业务数据:
序号 | 字段 | 示例值 |
---|---|---|
1 | 指令(交易,用正整数表示) | 0504 |
2 | 版本号(用正整数表示) | 1 |
3 | 商户订单号 | test001,最长30位 |
4 | 支付方式 | 1006 |
消息体:0504|1|test001|1006,十六进制:303530347c317c746573743030317c31303036
长度:19
待校验数据:1300303530347c317c746573743030317c3130303603
校验值:7c
通过串口发送的消息为:021300303530347c317c746573743030317c31303036037c
POS下位机操作类:
查询类:
获取基本信息 | 0100 | 返回基本信息 | 0101 |
基本操作类:
设置商户信息 | 0200 | 商户信息操作结果 | 0201 |
设置POS可用支付方式 | 0210 | 返回设置结果信息 | 0211 |
交易类:
签到 | 0500 | 签到结果 | 0501 |
签退 | 0502 | 签退结果 | 0503 |
交易 | 0504 | 交易预处理结果 | 0505 |
消费 | 0506 | 消费结果 | 0507 |
查询交易状态 | 0508 | 返回交易状态 | 0509 |
结算 | 0510 | 结算结果 | 0511 |
撤销 | 0512 | 撤销结果 | 0513 |
POS上位机操作类:
获取银行卡交易流水 | 0550 | 获取结果 | 0551 |
写入银行卡交易结果 | 0552 | 写入结果 | 0553 |
订单条码支付(B扫C) | 0672 | 交易结果 | 0673 |
订单交易查询 | 0674 | 查询结果 | 0675 |
订单交易冲正 | 0680 | 冲正结果 | 0681 |