
银业业务交易MIS串口指令示范.docx
11页收银终端外挂MIS键盘终端解决方案一、概述为达到收银系统与刷卡系统联动目的,关键是要由收银终端在受 理银行卡时,向MIS键盘发送指令触发交易,交易成功后,由MIS 键盘向收银终端返回成功信息二.具体方案图2-1系统物理结构图收银终端通过串口与MIS键盘连接,收银终端通过网络进行银 行卡交易通讯图2-2系统逻辑结构图三、交易类别1.由收银系统触发的交易>消费交易》撤销交易A退货交易>查询余额、>结帐>签到A签退》查询最后一笔成功交易信息 >按凭证号查询成功交易信息终端开发要求>收银终端需要传送收银交易流水号、金额等信息,触发交易 时发送给MIS键盘;>收银终端需要有超时机制,当发送给MIS键盘后,超过指定时间(可设定)后,提示异常并退出;>收银终端应具有标准9针串口(公口),以便和MIS键盘连接附件:收银终端与POS机串口通讯指令数据格式:类型说明长度备注STX起始字符1 byte0x02CMD指令2 byteLEN数据域长度4 byte前补“o”DATA数据域ETX结束字符1 byte0x03CRC校验字符1 byteSTX至ETX所有字节异或结果其中CMD指令:参数类型:char型数组,定长2字节参数含义:交易类型参数取值范围:参数取值交易类型“00"签到“01,签退“02”结算“03,消费“04”消费撤销“05”退货“06"查余额“20"查询最后一笔成功交易信息“21,,按凭证号查询成功交易信息“Hi,,医保IC“H2 ”医疗磁条卡“Ai,,金融交易请求报文金融交易应答报文其中,数据域格式为:1.交易触发命令:发送方式:由收银终端通过RS232串行接口 MIS键盘向发送功能:用于触发交易数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”金额12 byte以分为单位,前补“0”,例如:2300元,此域应为“000000230000”原交易流水号6byte不足位前补“0"注:收银交易流水号用于收银终端判断MIS键盘返回的交易是否为收银终端请求交易,防止串口错包。
原交易流水号应用于“04”撤消、“21”按凭证号查询成功交易 信息”指令交易,其余指令可填全“0”2 •金融交易请求报文:发送方式:由MIS键盘通过RS232串行接口向收银终端发送功能:用于将交易报文发送给收银终端,收银终端收到后将8583报文提取并通过网络发送给建行收单后台数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”请求报文数据域长度8583交易请求报文注:收银终端收到金融交易请求报文后,应先判断收银交易流水号是否一致,如果一致,将8583请求报文数据转发给中国建行后台3 •金融交易应答报文发送方式:由收银终端通过RS232串口向MIS键盘发送功能:将收到的建行返回的8583响应交易报文发送给MIS键盘其中,数据域格式为:数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”响应报文数据域长度8583交易响应报文注:MIS键盘收到金融交易响应报文后,应先判断收银交易流水号是否一致,如果一致,再处理8583响应报文数据4.H1触发指令其中,数据域格式为:数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”起始地址2 byte髙位在前(例如:0x00,OxOE为从14位开始读)读取长度1 byte最大OxFF5.H1应答报文其中,数据域格式为: 数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”长度1 byte最大OxFF返回数据6.H2应答报文其中,数据域格式为:数据域格式:类型长度备注收银交易流水号6 byte不足位前补“0”2磁长度1 byte2磁数据3磁长度1 byte3磁数据7 •交易结果指令发送方式:由MIS键盘通过RS232串行接口向收银终端发送 功能:用于将交易结果,交易要素发送给收银终端数据域格式:收银交易流水号6 byte不足位前补“0”Struct格式如下typedef struct严交易结果*/charRspCode[2 +1];〃交易结果(00表示交易成功)charRspMsg[40 + 1];〃交易结果描述(字符串)/*以下为需打印的内容*/charTransType[2 +1];〃交易类型charMerchantName[40 + 11; 〃商户名称charMerchantNum[ 15 + 1];〃商户编号charTerminalNum[8 + 1];〃终端编号charTransCardNum[19 + 1]; 〃交易卡号charExpDate[4 + 1];〃卡片有效期charBatchNum[6 + 1];〃交易批次号charOldbatchNum[6 + 1];〃原交易批次号charPosTraceNum[6 + 1];〃交易凭证号charOldposTraceNum[6 + 1J; 〃原交易凭证号(撤销.退货时存在)charSettleDate[8 + 1];〃银行记帐日期charTransDate[8 + 1];〃交易日期charTransTime[6 +1];〃交易时间charAuthorNum[6 +1];//授权号charTransAmount[12 + 1];〃交易金额(撤销、退货时为原交易金额)charCardTypef 1 + 1];//卡类型0—银联1 一外卡2-IC卡charCardNamef40 +1];〃发卡组织名称charToAddMsgl[50+ 1];〃发卡行信息(如长度为0则不打印)charToAddMsg2[40 + 1];//中国银联信息(如长度为0则不打印)charToAddMsg3[20 + 1];〃结算行信息(如长度为0则不打印)} DATA_STRUCT;RspCode代码表(请参考建行交易返回码表)返回码代表信息处理方法00交易成功01査询发卡方打询问银行02CALL BANK 査询打询问银行03无效商户或POS打询问银行05不成兑交易失败,拒绝09请稍候再重试交易重复执行该功能11数据通信格式错交易失败,拒绝12无效交易交易失败,拒绝13无效金额金额太大或太小,不能处理,放弃14无此卡号交易失败,拒绝21MAC错误交易失败,拒绝23不能接收的交易费交易失败,拒绝29不成功交易失败,拒绝30格式错误交易失败,拒绝33到期卡,请没收没收此卡34舞弊嫌疑请没收没收此卡35与受卡行联系打询问银行36黑名单卡,没收没收此卡40紧急止付,请没收没收此卡41遗失卡,请没收没收此卡43被盗卡,请没收没收此卡51余额不足交易失败,拒绝53帐户不存在交易失败,拒绝54过期卡请持卡人更新此卡55正常卡,密码不符重做交易,请持卡人重输密码56无卡记录交易失败,拒绝57持卡人无效交易交易失败,拒绝58终端无效交易交易失败,拒绝59舞弊嫌疑交易失败,拒绝61超限额交易失败,拒绝65交易次数超限交易失败,拒绝68接收超时交易失败,拒绝75超过密码次数交易失败,拒绝79系统配置不全打询问银行80MAC不正确连续多次失败则问银行90系统暂停稍候再做92找不到交易终点交易失败,拒绝93交易违法交易失败,拒绝95对帐不平批上送96系统故障打询问银行FE交易取消交易失败,拒绝FF其他错误交易失败,拒绝。
