文档介绍:POS解决方案
1 方案介绍 1
2 POS和收银机的通讯接口 3
3 POS和收银机之间的Data数据结构和流程描述如下: 3
交易命令格式 3
POS发送交易请求到收银机 3
POS向收银机应答: 4
4 DLL接口说明(在winXP下调试通过): 4
串口初始化 4
刷卡交易 4
5 支付业务流程 5
6 附加说明: 6
方案介绍
收银机dll
POS机
POSP
POS和收银机的通讯接口
为了保证串口数据传输的可靠性,我们采用如下的协议对网络POS与收银机之间交换的数据进行封装。格式如下:
STX
Length(2)
Data(n)
ETX
LRC
其中:
STX: 0x02
Length: 压缩BCD格式的长度字节,表示Data部分的长度。如长度字节为:0x01,0x23,那么实际长度为:123字节。
Data: 实际传输的数据
ETX: 0x03
LRC: 校验码,计算方法为:Length-ETX所有字节按字节异或的结果。
POS和收银机之间的Data数据结构和流程描述如下:
交易命令格式
POS发送交易请求到收银机
DATA
交易标志+金额+超时时间
字段说明(93个字符)
交易标志
1个ASCII 字符‘0’: 消费; ‘1’撤销
金额
15个ASCII 字符。前3位为‘000’,后12位为金额
超时时间
2个ASCII 字符。单位为秒,如‘50’,表示50秒
POS向收银机应答:
DATA
交易标志+响应码+终端号+商户号+卡号+金额+处理时间+参考号+授权码
字段说明(93个字符)
交易标志
1个ASCII 字符‘0’: 消费; ‘1’撤销
响应码
2个ASCII 字符‘00’成功‘99’失败
终端号
8个ASCII 字符
商户号
15个ASCII 字符
卡号
20个ASCII 字符不足时补空格
金额
15个ASCII 字符。前3位为‘000’,后12位为金额
处理时间
14个ASCII 字符格式:YYYYMMDDhhmmss
参考号
12个 ASCII 字符
授权码
6个 ASCII 字符
DLL接口说明(在winXP下调试通过):
串口初始化
mParam(int iPortId, /*1:2:2 ...默认为1*/
char *psPortString, /*码率:默认为"9600,n,8,1"*/
int iTimeout, /*延时时间,单位为秒*/
int iPrtLogFlag/*是否记录日志 0记录,1不记录*/);
刷卡交易
Int PosProcess( char cTranType, /* ‘0’–消费‘1’–撤销*/