中控售饭机SDK用户手册_第1页
中控售饭机SDK用户手册_第2页
中控售饭机SDK用户手册_第3页
中控售饭机SDK用户手册_第4页
中控售饭机SDK用户手册_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中控消费平台SDK用户手册案卷号日期消费系统二次开发平台IC卡SDK(控件版)用 户 手 册 作 者: 完成日期: 签 收 人: 签收日期: 修改情况记录:版本号修改批准人修改人安装日期签收人 目录1 SDK开发说明11.1 简介11.2 背景11.3 定义11.4 SDK 安装11.5接口调用流程7l修改密码(加密)7l初始化IC卡(清空IC卡)8l发卡8l读卡9l充值102 数据结构说明112.1 消费机器数据结构11l消费机中数据表说明:11l数据添加格式162.2 卡片数据结构162.3 状态报告16l返回状态码及意义163 SDK开发函数说明183.1 消费机器sdk开发函数183.2 卡操作sdk卡发函数18l1 ZK_PosClearICCard18l2ZK_PosIssueICCard18l3ZK_PosReadICCard19l4ZK_PosWriteICCardMoney19l5ZK_PosWriteICCardPassWord19l6ZK_PosUpdateParam20l7ZK_PosReadCardSerial204 开发建议202 中控消费平台SDK用户手册1 SDK开发说明1.1 简介 SDK:是针对独立软件开发商(ISV)和系统集成商(SI)的软件开发及技术产品服务的需求,提供的消费软件系统与消费机及IC卡读写器通讯的开发组件(SDK,Software Development Kit)1.2 背景 系统名称: SDK消费系统开发组件1.3 定义 参数KEY值 卡密码,格式为每个字节密码以逗号分隔如“FF,FF,FF,FF,FF,FF”, 每个字节是该数字的ASCII码的16进制表示形式,如:卡密码是,那么转化后为“31,32,33,34,35,36 ”, 所有函数的卡密码格式相同,不在赘述1.4 SDK 安装l 使用消费机sdk接口函数需要用到多个动态库文件,详见“消费机dll库”文件夹,把该文件夹的所以dll文件放到工程目录下即可,具体应用参考例程l 使用卡操作sdk时,采用ocx控件形式,需要安装本公司提供的驱动程序获得控件库文件。驱动程序在“控件”文件夹中,安装好驱动后,默认目录(xp系统)在c:windowssystem32下找到以下两个文件。 Biokey.ocx控件库文件ZKOnline.ocx 控件库文件l 分别注册控件 Biokey.ocx和ZKOnline.ocx控件库文件:regsvr32.exe c:windowssystem32Biokey.ocxregsvr32.exe c:windowssystem32ZKOnline.ocx注意:Windows Vista客户需要以管理员权限才能正确执行regsvr32;l 注册成功后,就可以在相应的开发环境中导入控件。A:在Delphi 7 开发环境:第一步:ComponentImport Activex Control如下图所示:进入如下界面,按下图所示操作,安装两个控件B:在Microsoft Visual Studio .NET 2003的VB项目中第一步:注册控件,如下图所示进入注册界面 然后进入ActiveX控件测试容器界面,如下图:选择“文件注册控件”,找到注册文件,如下图所示:注册成功后,多了刚才注册的选项,如下图所示:第二步:添加控件到工具栏中,方法如下图所示:添加好后,在控件里就添加好了该控件,如下图所示:C:在Microsoft Visual C+ 6.0中使用 第一步:注册控件,方法跟VB的类似。 第二步:使用控件,操作如下图所示在下图中选择要插入的控件: 1.5接口调用流程接口调用流程如下: 消费机器接口调用流程 IC卡操作业务流程l 修改密码(加密)连接发卡器读取卡序列号成功修改主、备份扇区密码结束YN没有找到IC卡或卡是否损坏判断是否白卡白卡YNl 初始化IC卡(清空IC卡)连接发卡器读取卡序列号成功清空主、备份扇区密码结束YN没有找到IC卡或卡是否损坏l 发卡连接发卡器读取卡序列号成功判断是否白卡结束YN没有找到IC卡或卡是否损坏白卡Y判断各参数正确这不是一张空白卡,不能发卡。请将该卡先初始化!发卡写主扇区NYN成功发卡写备份扇区成功清空主扇区卡信息块NNYYl 读卡连接发卡器读取卡序列号成功解析数据结束YN没有找到IC卡或卡是否损坏读主扇区数据成功YN读备份扇区数据成功YNl 充值NY读卡成功写主扇区金额结束YN判断充值参数正确NY判断是否同一张(读两次序列号)同一卡NY成功读主扇区金额成功且写=读写备份扇区金额成功读备份扇区金额成功且写=读执行次数 10YYYYNNNN2 数据结构说明2.1 消费机器数据结构l 消费机中数据表说明:1UserInfo:(用户信息表)字段名说明SysID系统卡号UserID用户编号PIN用户工号CardNo卡号Name姓名PassWord差额密码SegNoUserType用户类型(1黑名单,0白名单)Privage权限(1管理员,0普通用户)2Template:(指纹信息) 3OpLog:(管理日志)字段名说明OPID操作员IDTIME操作时间OP操作编码4PosLog:(消费记录)字段名说明SysID系统卡号CardNo卡号PosTime消费时间PosMoney消费金额Balance余额RecNo机器流水号CardRecID卡流水号State消费类型Mealtype餐别MealDate记餐日期OPID操作员ID5PRESSKEY(键值信息表)字段名说明KeyID键值编号Price价格6StoreInfo:(商品信息)字段名说明StoreNo商品编号Name商品名称Bc条码Price价格agio折扣7Mealtype:(餐别信息)字段名说明Mlid餐别编号Name餐别名称Start开始时间End结束时间8TimeSeg:(就餐批次时间段信息)字段名说明SegID批次编号(1为固定时段)TsID时段编号Start开始时间End结束时间9FIXED(分段定值表)字段名说明TsID时段编号Start开始时间End结束时间Price价格10PayDetail:(商品消费明细信息, 商品消费时对应消费记录的明细信息)字段名说明RecNo机器流水号StoreNo商品编号Price实收价格RecSum单笔消费商品流水号11KEYDETAIL 键值消费明细表字段名说明RecNo机器流水号KeyID键值编号Price实收价格RecSum单笔消费商品流水号12TmPosLog:(记时消费数据)字段名说明SysID卡号StartTme开始时间StartBanlance开始金额EndTime结束时间EndBanlance结束金额(余额)13CARDTYPE (卡类设置表)字段名说明SortID卡类序号Name卡类名称rebate折扣Timemaxmoney次消费最大金额Daymaxmoney天消费最大金额Mealmaxmoney餐消费最大金额Daymaxtimes天消费最大次数Mealmaxtimes餐消费最大次数Lowlimit最小卡余额Maxlimit最大卡余额MealType可用餐别Enable是否可用limit有效天数BatchNo使用时段UseFinger是否使用指纹(1或0)14FULLVALUE (充值记录表)字段名说明SysID系统卡号CardNo卡号CardRecNO卡流水号Money充值金额Balance余额LogType充值类型OPID操作员IDRecNo机器流水号15SUBSIDYLOG (补贴流水记录表)字段名说明SysID系统卡号CardNo卡号Batch补贴批号Money补贴金额allowDate补贴日期16SIDYLOG(已补贴记成功录表)字段名说明SysID系统卡号CardNo卡号CardRecID卡流水号Batch补贴批号AllowTime补贴时间AllowMoney补贴金额Balance余额state补贴方式 0:清零补贴BaseBatch补贴基次RecNo机器流水号17SubSidy:(待补贴记录表)字段名说明SysID系统卡号CardNo卡号Batch补贴批号AllowMoney补贴金额BaseBatch补贴基次allowDate补贴日期l 数据添加格式向消费机中的表添加数据,是将记录组合成一个字符串发送到机器中的,字符串格式为:字段名=值(tab键)字段名=值记录与记录之间以换行符号连接如商品资料的一条记录为“StoreNo=1 Name=包子Bc= Price=0.5 agio=80”,注意:字段之间是tab符号从消费机读取的格式也相同,需要自行解析字符串,得到每条记录每个字段的数据。2.2 卡片数据结构l 读取卡片返回数据的组成结构数据格式采用“字段名1=值1,字段名2=值2”的形式字段名为上述余额扇区结构说明中的字段名2.3 状态报告l 返回状态码及意义-1:Result := 传入参数非法; -2: Result := 主、备份扇区数据不一致; 1: Result := 操作失败; 2: Result := 数据丢包; 3: Result := 没有选择准确的COM口; 4: Result := 和卡通讯超时; 5, 7: Result := XOR校验出错; $A: Result := 输入的参数大于最大允许范围,溢出; $80: Result := 参数设置成功; $81: Result := 参数设置失败; $82: Result := 通讯超时; $83: Result := 卡不存在; $84: Result := 接收卡数据出错; $85: Result := 输入参数或者输入命令格式错误; $87: Result := 未知的错误; $8A: Result := 在块初始化中出现错误; $8B: Result := 在防冲突过程中得到错误的序列号; $8C: Result := 密码认证没通过; $8F: Result := 读写设备接收到了未定义的命令; $90: Result := 卡不支持这个命令; $91: Result := 命令格式有错误; $92: Result := 在命令的FLAG参数中, 不支持OPTION模式; $93: Result := 要操作的BLOCK不存在; $94: Result := 要操作的对象已经别锁定, 不能进行修改; $95: Result := 锁定操作不成功; $96: Result := 写操作不成功;l 用途获得接口函数执行结果状态描述内容(适用与卡操作函数)3 SDK开发函数说明3.1 消费机器sdk开发函数详细参阅dataapi接口使用指南3.2 卡操作sdk卡发函数l 1 ZK_PosClearICCard【功能】对卡进行初始化,清除卡片数据,将扇区字节写为0X 00【需要参数说明】commHandle: int:无符号整型,发卡器端口资源句柄,默认为0key: string:卡密码。 mainsec:整型,115,主扇区号,每个扇区的三个块backsec:整型,115,备份扇区号,每个扇区的三个块【返回值】=0:初始化成功0:其它见2.3状态报告描述l 2ZK_PosIssueICCard【功能】对卡写数据,发放卡片【需要参数说明】commHandle:整型,发卡器设备句柄key:卡密码overPwd:整型,六位数字,超额密码Cardno:整型,1,卡号money:整型,初始金额,1,cardtype:整型,199,卡片类别号batchNo:整型,卡片版本号miansec:整型,115,主扇区号backsec:整型,115,备份扇区号【返回值】 =0:发卡成功0:其它见2.3状态报告描述l 3ZK_PosReadICCard【功能】读取卡片数据,数据包括卡号,余额等信息【参数说明】commHandle:整型,发卡器设备句柄,0key:卡密码miansec:整型,115,主扇区号backsec:整型,115,备份扇区号Data:字符串,返回读取的数据,数据格式采用“字段名1=值1,字段名2=值2”的形式 【返回值】返回字符串”字段名1=值, 字段名1=值”,可以判断字符串是否包含或字符串长度,不包含则失败,其它见2.3状态报告描述l 4ZK_PosWriteICCardMoney【功能】对卡片写入金额充值,主扇区和备份扇区的 第二和第三块需要写成相同的数据。【参数说明】commHandle:无符号整型,发卡器设备句柄key:卡密码 Money:整型,1,写入金额mainsect:整型。115,存储数据的主扇区号backsec:整型,115,备份扇区号【返回值】 =0:充值成功 1:其它见2.3状态报告描述l 5ZK_PosWriteICCardPassWord【功能】修改卡密码【参数说明】commHandle:整型,发卡器设备句柄oldkey:六位数字字符串,原卡密码newkey:六位数字字符串,新密码mainsect:整型。115,存储数据的主扇区号backsec:整型,115,备份扇区号【返回值】 =0:成功 1:其它见2.3状态报告描述l 6ZK_PosUpdateParam【功能】修改卡片参数,可以修改卡片超额密码、发卡日期、卡类【参数说明】commHand

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论