自助终端收银系统Windows标准接口文档V330

上传人:我** 文档编号:115906203 上传时间:2019-11-15 格式:DOCX 页数:13 大小:68.39KB
返回 下载 相关 举报
自助终端收银系统Windows标准接口文档V330_第1页
第1页 / 共13页
自助终端收银系统Windows标准接口文档V330_第2页
第2页 / 共13页
自助终端收银系统Windows标准接口文档V330_第3页
第3页 / 共13页
自助终端收银系统Windows标准接口文档V330_第4页
第4页 / 共13页
自助终端收银系统Windows标准接口文档V330_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《自助终端收银系统Windows标准接口文档V330》由会员分享,可在线阅读,更多相关《自助终端收银系统Windows标准接口文档V330(13页珍藏版)》请在金锄头文库上搜索。

1、银联商务自助终端收银系统系统Windows标准接口文档 银联商务自助终端收银系统Windows标准接口文档V3.3.0银联商务有限公司技术开发中心MIS室版本控制信息版本日期拟稿和修改人说明1.0.02014-08-26王玉珏创建2.0.02014-10-30王玉珏修改交易编号增加全民付48域组织说明3.0.02014-12-03王玉珏增加对传统业务IC卡的支持3.1.02015-01-16王玉珏增加对增值业务手机充值、信用卡还款IC卡的支持3.2.02015-03-05王玉珏增加对外挂非接模块R50、R30的支持3.3.02015-04-25王玉珏增加关闭读卡器函数、吞卡函数3.3.0201

2、5-04-29王玉珏增加传统交易必填要素表本文档中的所有内容为中国银联商务有限公司的机密和专属所有。未经中国银联商务有限公司的明确书面许可,任何组织或个人不得以任何目的、任何形式及任何手段复制或传播本文档部分或全部内容。1 文档说明本文档向收银软件开发商描述了银联商务windows版本自助收银系统的接口和调用流程。此版本采用插卡器实现IC、磁条卡联机,采用外挂式非接模块(R50、R30)实现闪付交易(目前只在传统应用内支持闪付类的消费和查余交易)。2 函数调用流程1) 调用初始化函数UMS_Init(appType),初始化应用类型根据所要进行的业务类型取值。2) 调用进卡函数UMS_Ente

3、rCard(),系统根据配置设置读卡器为可插、挥卡状态。此函数同时尝试开启插卡器和外挂非接感应器,并返回设备开启情况。3) 根据第2步返回结果,提示用户插、挥卡。4) 调用检测卡函数UMS_CheckCard (byte *state_out),判断读卡器内或者非接感应器上是否有卡。如果有卡则关闭另一个设备。并以返回值返回采用了哪个设备。(此过程会阻滞约2秒钟时间)建议循环调用,直至检测卡超时时间到来。5) 当检测到卡片插入或在非接模块感应区内之后,调用读卡函数UMS_ReadCard (char *cpData),此时会返回给ERP用户卡号。此函数会检测卡片类型,产生阻滞。6) 对于联机交易

4、,读卡成功后,调用打开密码键盘函数UMS_StartPin()。7) 提示用户输入密码。8) 调用取键值函数UMS_GetOnePass (unsigned char *key_out),根据具体的键值绘制密码输入画面。9) 密码输入完毕后,调用取用户密码密文函数UMS_GetPin ()。10) 调用交易函数UMS_TransCard (char *strReq, char *strResp)进行交易。如果该交易函数是无磁无密函数,则跳过29步。对于闪付类交易,跳过69步。11) 调用关闭读卡器函数UMS_EjectCard (),弹出卡片(关闭非接模块),并提示用户拔卡、取走卡片。(若为磁

5、条卡,也可以在第5步之后弹出卡片,防止持卡人忘记取卡。若为闪付交易,请让持卡人在交易过程中保持卡片在非接感应器上,不可以中途移走卡片。)12) 继续循环调用UMS_CheckCard (byte *state_out),判断持卡人是否真正拿走了卡片。13) 如持卡人在时限内未拿走卡片,调用吞卡函数UMS_CardSwallow(),将卡片没收。14) 调用关闭读卡器函数UMS_CardClose()。3 函数说明所有函数都封装在umsapi.dll里。使用前请先加载此动态库。也可以采用头文件加lib库的形式静态加载。发布文件请仅仅放置于c:umsips文件夹目录下。3.1 初始化int UMS

6、_Init(int appType);功能描述:初始化密码键盘、检查冲正、检查签到结算、下公钥、下公参、检查设备能力、脱机交易上送、TC上送。参数:apptype:应用类型 1:传统银行卡应用 2:全民付应用 3:预付卡。不同应用支持的交易类型,见本章3.11节。返回:0:成功其他情况:-101:appType非法-102:加载主配置main.ini失败-103:初始化密码键盘失败-104:银联卡模块初始化失败-105:增值模块初始化失败-106:预付卡模块初始化失败-107:暂不支持的appType-108:向EMV内核下载IC卡参数失败3.2 进卡int _stdcall UMS_Ente

7、rCard()功能描述:允许读卡器进卡,调用成功后,提示用户插卡。参数:无。返回:0:插卡器启动成功,外挂非接模块无法打开;1:外挂非接模块启动成功,插卡器无法打开;2:外挂非接模块、插卡器均启动成功;-201-210:失败。3.3 检测卡int _stdcall UMS_CheckCard(byte *state_out)功能描述:返回读卡器内卡片位置,可循环调用,建议1秒为周期。参数:state_out:卡片信息码位置码含义说明0x34卡在插卡器卡口位置可提示用户插、拔卡0x35未检测到卡可提示用户插卡、挥卡0x37插卡器内部有卡可以读卡0x38卡在外置非接感应器上可以读卡返回:0:成功;

8、-211-220:失败。3.4 读卡int _stdcall UMS_ReadCard(char* cpData);功能描述:读卡号、选择扣款账户。传统应用返回屏蔽(除前六后四位之外,其他用*代替)后的卡号,闪付类交易返回全卡号,全民付应用返回全卡号。出参: cpData 卡号存储指针返回:0:磁条卡读取成功;1:芯片卡读取成功;2:非接卡读取成功;-221-230:失败;3.5 弹卡int _stdcall UMS_EjectCard()功能描述:把卡弹出到读卡器口。IC卡交易,请在交易结束后,再弹卡。参数:无返回:0:成功;-231-240:失败3.6 关闭读卡器int _stdcall

9、UMS_CardClose()功能描述:关闭设备。当内部有卡时,卡片将从卡口弹出。参数:无返回:0 成功其他 失败3.7 吞卡int _stdcall UMS_CardSwallow()功能描述:当卡片停留在卡口或者在内部时,从读卡器后部将卡片弹出。参数:无返回:0 成功 其他 失败3.8 开启密码键盘int _stdcall UMS_StartPin()若为电子现金账户扣款,无需次步骤。返回:0 成功其他 失败3.9 获得键值int _stdcall UMS_GetOnePass(byte* key_out)若为电子现金账户扣款,无需次步骤。键值含义0x02输入超时0x08退格0x2A一个按

10、键0x1B用户取消交易0x0D输入确认0xFF用户暂时没有输入返回:0 成功其他 失败3.10 获取pin密文int _stdcall UMS_GetPin()若为闪付类交易,无需次步骤。返回:0 成功其他 失败3.11 交易函数int _stdcall UMS_TransCard(char* strReq,char* strResp)功能描述:自助终端交易函数。增值交易的strMemo字段需按照第四章所做说明填充。参数:char* strReq:传入参数,格式如下:字段名称字段长度(BYTE)字段含义strCounterId8款台号strOperId8操作员号strTransType2交易编

11、号传统类交易:00:消费 01:撤销 02:退货03:查余04:结算* 05:签到* 08:预授权 09:预授权撤销10:预授权完成全民付交易:01: 手机充值 02: 信用卡还款手续费查询*03: 信用卡还款缴费 04:卡卡转账05:公共事业查询* 06:公共事业缴费预付卡:00 消费strAmount12金额strOldTrace6原流水号strOldDate8原交易日期YYYYMMDDstrOldRef12原系统参考号strOldAuth6原授权号strOldBatch6原批次号strMemo102448域附加信息(采用第4章所述格式传入)strLrc33个校验字符请求中带*的为无磁无密

12、交易。char* strResp:返回参数,格式如下:字段名称字段长度(BYTE)字段含义strRespCode2应答码strRespInfo40应答码说明信息(汉字)strCardNo20交易卡号strAmount12金额strTrace6终端流水号(凭证号)strBatch6批次号strTransDate4交易日期MMDDstrTransTime6交易时间hhmmssstrRef12系统参考号(中心流水号)strAuth6授权号strMId15商户号strTId8终端号strMemo102448域附加信息(采用第4章所述格式传出)strLrc33个校验字符返回:该函数只返回0注意:对于无磁

13、无密的交易,初始化成功后,直接调用交易函数应答码的具体中文说明,在程序包的rsp.ini中3.11.1 传统交易必填要素表交易名称交易号款台号操作员号金额原流水号原交易日期原系统参考号原授权号原批次号MemoLRC00消费01撤销02退货03查余04结算05签到08预授权09预授权撤销10预授权完成:可随意填的字段,该字段会被打印或被校验:采用空格填充,此字段在该交易中无意义:必须填入实际值的字段3.11.2 对于信用卡还款、卡卡转账交易的流程说明首先,初始化。然后获得信用卡或者转入卡的卡号。可以通过3.23.7函数来实现。然后再次读取转出卡。启动密码键盘,输入密码,调用交易函数。最后,弹卡,并判断卡片是否被取走。如未取走,吞卡。4 全民付交易48域组织说明4.1 数据格式ERP传入48域数据在入参字段strMemo中,采用通常意义上的TLV(tag-l

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号