下载此文档

自助终端收银系统Windows标准接口文档V3.3.0.docx


文档分类:办公文档 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
该【自助终端收银系统Windows标准接口文档V3.3.0 】是由【吴老师】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【自助终端收银系统Windows标准接口文档V3.3.0 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。-08--10--12--01-16王玉珏增加对增值业务手机充值、-03-05王玉珏增加对***非接模块R50、-04-25王玉珏增加关闭读卡器函数、-04-29王玉珏增加传统交易必填要素表本文档中的所有内容为中国银联商务有限公司的机密和专属所有。未经中国银联商务有限公司的明确书面许可,任何组织或个人不得以任何目的、任何形式及任何手段复制或传播本文档局部或全部内容。银联商务自助终端收银系统系统Windows标准接口文档文档说明本文档向收银软件开发商描述了银联商务windows版本自助收银系统的接口和调用流程。此版本采用插卡器实现IC、磁条卡联机,采用***式非接模块〔R50、R30〕实现闪付交易〔目前只在传统应用内支持闪付类的消费和查余交易〕。函数调用流程调用初始化函数UMS_Init(appType),初始化应用类型根据所要进行的业务类型取值。调用进卡函数UMS_EnterCard(),系统根据配置设置读卡器为可插、挥卡状态。此函数同时尝试开启插卡器和***非接感应器,并返回设备开启情况。根据第2步返回结果,提示用户插、挥卡。调用检测卡函数UMS_CheckCard(byte*state_out),判断读卡器内或者非接感应器上是否有卡。如果有卡那么关闭另一个设备。并以返回值返回采用了哪个设备。〔此过程会阻滞约2秒钟时间〕建议循环调用,直至检测卡超时时间到来。当检测到卡片插入或在非接模块感应区内之后,调用读卡函数UMS_ReadCard(char*cpData),此时会返回给ERP用户卡号。此函数会检测卡片类型,产生阻滞。对于联机交易,读卡成功后,调用翻开密码键盘函数UMS_StartPin()。提示用户输入密码。调用取键值函数UMS_GetOnePass(unsignedchar*key_out),根据具体的键值绘制密码输入画面。密码输入完毕后,调用取用户密码密文函数UMS_GetPin()。调用交易函数UMS_TransCard(char*strReq,char*strResp)进行交易。如果该交易函数是无磁无密函数,那么跳过2~9步。对于闪付类交易,跳过6~9步。调用关闭读卡器函数UMS_EjectCard(),弹出卡片〔关闭非接模块〕,并提示用户拔卡、取走卡片。〔假设为磁条卡,也可以在第5步之后弹出卡片,防止持卡人忘记取卡。假设为闪付交易,请让持卡人在交易过程中保持卡片在非接感应器上,不可以中途移走卡片。〕继续循环调用UMS_CheckCard(byte*state_out),判断持卡人是否真正拿走了卡片。如持卡人在时限内未拿走卡片,调用吞卡函数UMS_CardSwallow(),将卡片没收。调用关闭读卡器函数UMS_CardClose()。。使用前请先加载此动态库。也可以采用头文件加lib库的形式静态加载。发布文件请仅仅放置于c:\umsips文件夹目录下。银联商务自助终端收银系统系统Windows标准接口文档初始化intUMS_Init(intappType);功能描述:初始化密码键盘、检查冲正、检查签到结算、下公钥、下公参、检查设备能力、脱机交易上送、TC上送。参数:apptype:应用类型1:传统银行卡应用2:全民付应用3:预付卡。不同应用支持的交易类型,。返回:0:成功其他情况:-101:appType非法-102:-103:初始化密码键盘失败-104:银联卡模块初始化失败-105:增值模块初始化失败-106:预付卡模块初始化失败-107:暂不支持的appType-108:向EMV内核下载IC卡参数失败进卡int__stdcallUMS_EnterCard()功能描述:允许读卡器进卡,调用成功后,提示用户插卡。参数:无。返回:0:插卡器启动成功,***非接模块无法翻开;1:***非接模块启动成功,插卡器无法翻开;2:***非接模块、插卡器均启动成功;-201~-210:失败。检测卡int__stdcallUMS_CheckCard(byte*state_out)功能描述:返回读卡器内卡片位置,可循环调用,建议1秒为周期。参数:state_out:卡片信息码位置码含义说明0x34卡在插卡器卡口位置可提示用户插、拔卡0x35未检测到卡可提示用户插卡、挥卡0x37插卡器内部有卡可以读卡0x38卡在外置非接感应器上可以读卡返回:银联商务自助终端收银系统系统Windows标准接口文档0:成功;-211~-220:失败。读卡int__stdcallUMS_ReadCard(char*cpData);功能描述:读卡号、选择扣款账户。传统应用返回屏蔽〔除前六后四位之外,其他用*代替〕后的卡号,闪付类交易返回全卡号,全民付应用返回全卡号。出参:cpData卡号存储指针返回:0:磁条卡读取成功;1:芯片卡读取成功;2:非接卡读取成功;-221~-230:失败;弹卡int__stdcallUMS_EjectCard()功能描述:把卡弹出到读卡器口。IC卡交易,请在交易结束后,再弹卡。参数:无返回:0:成功;-231~-240:失败关闭读卡器int__stdcallUMS_CardClose()功能描述:关闭设备。当内部有卡时,卡片将从卡口弹出。参数:无返回:0成功 其他失败吞卡int__stdcallUMS_CardSwallow()功能描述:当卡片停留在卡口或者在内部时,从读卡器后部将卡片弹出。参数:无返回:银联商务自助终端收银系统系统Windows标准接口文档0成功 其他失败开启密码键盘int__stdcallUMS_StartPin()假设为电子现金账户扣款,无需次步骤。返回:0成功其他失败获得键值int__stdcallUMS_GetOnePass(byte*key_out)假设为电子现金账户扣款,无需次步骤。键值含义0x02输入超时0x08退格0x2A一个按键0x1B用户取消交易0x0D输入确认0xFF用户暂时没有输入返回:0成功其他失败获取pin密文int__stdcallUMS_GetPin()假设为闪付类交易,无需次步骤。返回:0成功其他失败交易函数int__stdcallUMS_TransCard(char*strReq,char*strResp)功能描述:自助终端交易函数。增值交易的strMemo字段需按照第四章所做说明填充。参数:char*strReq:传入参数,格式如下:字段名称字段长度〔BYTE〕字段含义strCounterId8款台号strOperId8操作员号strTransType2交易编号传统类交易:00:消费01:撤销02:退货03:查余银联商务自助终端收银系统系统Windows标准接口文档04:结算*05:签到*08:预授权09:预授权撤销10:预授权完成全民付交易:01:手机充值02:信用卡还款手续费查询*03:信用卡还款缴费04:卡卡转账05:公共事业查询*06:公共事业缴费预付卡:00消费strAmount12金额strOldTrace6原流水号strOldDate8原交易日期YYYYMMDDstrOldRef12原系统参考号strOldAuth6原授权号strOldBatch6原批次号strMemo102448域附加信息〔采用第4章所述格式传入〕strLrc33个校验字符请求中带*的为无磁无密交易。char*strResp:返回参数,格式如下:字段名称字段长度〔BYTE〕字段含义strRespCode2应答码strRespInfo40应答码说明信息〔汉字〕strCardNo20交易卡号strAmount12金额strTrace6终端流水号〔凭证号〕strBatch6批次号strTransDate4交易日期MMDDstrTransTime6交易时间hhmmssstrRef12系统参考号〔中心流水号〕strAuth6授权号strMId15商户号strTId8终端号strMemo102448域附加信息〔采用第4章所述格式传出〕strLrc33个校验字符返回:该函数只返回0注意:对于无磁无密的交易,初始化成功后,直接调用交易函数应答码的具体中文说明,√○○√□□□□□□○银联商务自助终端收银系统系统Windows标准接口文档01撤销√○○√√□□□□□○02退货√○○√□√√□□□○03查余√○○□□□□□□□○04结算√○√□□□□□□□○05签到√□□□□□□□□□○08预授权√○○√□□□□□□○09预授权撤销√○○√□√□√□□○10预授权完成√○○√□√□√□□○○:可随意填的字段,该字段会被打印或被校验□:采用空格填充,此字段在该交易中无意义√:必须填入实际值的字段对于信用卡还款、卡卡转账交易的流程说明首先,初始化。然后获得信用卡或者转入卡的卡号。~。然后再次读取转出卡。启动密码键盘,输入密码,调用交易函数。最后,弹卡,并判断卡片是否被取走。如未取走,吞卡。全民付交易48域组织说明数据格式ERP传入48域数据在入参字段strMemo中,采用通常意义上的TLV〔tag-length-value〕格式,即每个子域由tag标签(T),子域取值的长度(L)和子域取值(V)构成。tag标签的属性为bit,由16进制表示,占1~2个字节长度。例如,“9F33〞为一个占用两个字节的tag标签。而“95〞为一个占用一个字节的tag标签。假设tag标签的第一个字节〔注:字节排序方向为从左往右数,第一个字节即为最左边的字节。bit排序规那么同理。〕的后四个bit为“1111〞,那么说明该tag占两个字节,例如“9F33〞;否那么占一个字节,例如“95〞。子域长度〔即L本身〕的属性也为bit,占1~3个字节长度。具体编码规那么如下:a)当L字段最左边字节的最左bit位〔即bit8〕为0,表示该L字段占一个字节,它的后续7个bit位〔即bit7~bit1〕表示子域取值的长度,采用二进制数表示子域取值长度的十进制数。例如,某个域取值占3个字节,那么其子域取值长度表示为“00000011〞。所以,假设子域取值的长度在1~127字节之间,那么该L字段本身仅占一个字节。b)当L字段最左边字节的最左bit位〔即bit8〕为1,表示该L字段不止占一个字节,那么它到底占几个字节由该最左字节的后续7个bit位〔即bit7~bit1〕的十进制取值表示。例如,假设最左字节为10000010,表示L字段除该字节外,后面还有两个字节。其后续字节的十进制取值表示子域取值的长度。例如,假设L字段为“1000000111111111〞,表示该子域取值占255个字节。所以,假设子域取值的长度在127~255字节之间,那么该L字段本身需占两个字节。银联商务自助终端收银系统系统Windows标准接口文档数据限制本程序中使用的TLV数据除符合上述TLV规那么以外,还符合下面的条件约束:1:所有tag都是2个字节的。2:L的长度不超过3字节。即一个子域最大数据长度为FFFF〔65535〕字节。3:TLV数据段起始指针为strMemo+4。前面的四个字节为从strMemo+4开始的TLV数据总长度,采用AscII码标示〔左对齐,右补空格〕。银联商务自助终端收银系统系统Windows标准接口文档相关函数列表为了方便厂商打TLV数据,。初始化TLVint__stdcallTlv_Init( byte*bpInBuf,intiInBufLen)功能说明: 初始化TLV指针和总长度。在每一次打TLV数据前,都需要调用此函数,初始化。 只有初始化成功后,方可调用Tlv_AddTag。否那么会引起异常。参数: byte*bpInBuf:外局部配的存储TLV数据的空间首地址 intiInBufLen:外局部配的存储TLV数据空间的大小返回: 0:成功 -1:外局部配空间不可以小于4字节增加一个tagint__stdcallTlv_AddTag( char*cpInTagNameAsc,char*cpInData,intiInDataLen)功能描述: 打一个tag参数: char*cpInTagNameAsc:AscII码标示的tag名 char*cpInData:数据首地址 intiInDataLen:数据长度例子: 要在sbuf中打tag为"9F36"的数据"123456" bytesbuf[512] Tlv_Init(sbuf,512) Tlv_AddTag("9F36","123456",6);返回: 大于0成功,当前TLV的总长度 -1外部越界 -2内部越界-3tag重复-4总长度超过可表示范围

自助终端收银系统Windows标准接口文档V3.3.0 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人吴老师
  • 文件大小58 KB
  • 时间2024-04-26