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 |