1、网银适配器 2.0 版二次开发手册一、 版本说明网银适配器 1.X 版主要实现了和全国性银行的连接。为了满足越来越多的地区性商业银行、外资银行与标准产品连接的需求,网银适配器 2.0 中增加了集成框架,便于用友的二次开发人员、伙伴开发人员、客户开发人员在此基础上进行地区性商业银行、外资银行接口的开发,且开发成果具有一致性,能与 NC、U8 等标准产品正确连接。二、 支持银行及 NCU8 版本目前网银适配器支持包括国内各大银行在内的 17 家银行,外资银行支持日本瑞穗,银行的业务功能主要支持余额查询、明细下载、支付转账、支付转账查询、集团支付、集团支付查询等业务功能。注意银行功能对应的 ERP
2、版本号。功能银行 余额 明细 支付 支付查询集团支付及查询财务室批量指令财务室批量指令查询对应 NC版本对应 U8版本北京银行 是 是 是 是 NC3.1+SP2交通银行 是 是 是 是 NC3.1+SP2 U852中国银行 是 是 是 是 是 NC3.1+SP2 U852建设银行 是 是 是 是 NC3.1+SP2 U860建设银行外联 是 是 是 是 NC3.1+SP2 U861光大银行 是 是 是 是 NC3.1+SP2 U860中信实业银行 是 是 是 是 NC3.1+SP2招商银行 是 是 是 是 是 NC3.1+SP2 U860民生银行 是 是 是 是 NC3.1+SP2农业银行
3、是 是 是 是 NC3.1+SP2 U861广发银行 是 是 是 是 NC3.1+SP2华夏银行 是 是 是 是 NC3.1+SP2工商银行 是 是 是 是 是 是 NC3.1+SP2 U860工商银行专业版 是 是 是 是 NC3.1+SP2 U861日本瑞穗银行 是 是 NC3.1+SP2 U861上海浦发银行 是 是 是 是 是 NC3.1+SP2 U861兴业银行 是 是 是 是 是 NC3.1+SP2 U861备注:对应 U8 版本是 U861、U852、U860 依次向后兼容!三、 运行环境硬件要求:CPU:1.6GHz,内存:512M,磁盘空间:500M操作系统:Windows2
4、000 Professional支持二次开发语言:可编译生成动态库的任何语言,如:VB,VC 等。四、 软件加密暂无。五、 网银适配器原理1、UFBank 作用网银适配器(UFBank)的主要作用是作为业务系统(即 NC、U8 等)与银行系统连接的桥梁。UFBank 屏蔽了不同银行数据格式和连接方式的不同,将其转换成统一的数据格式(内部标准格式)和连接方式,业务系统只与内部标准接口打交道。在增加新的银行接口,或银行系统升级时,只需要升级 UFBank 即可,从而有效地保证了业务系统的相对独立性,使其受增加新的银行接口、银行系统升级的影响很小。在 UFBank 中,不进行任何业务处理。UFBan
5、k 只有银行参数配置、日志查询、测试界面外。在实际运行时没有可见界面。2、UFBank 构成与工作原理UFBank 主要由两部分组成:UFBank Service 和 UFBankPlugin。UFBank Service 主要包括: 一个 Web Service,通过 WEB 服务的方式接收来自业务系统的指令,并将执行结果通过 WEB 服务再传回业务系统。在 UFBank2.0 中,Web Service 的核心文件是UFBank.asp。其核心代码如下:Set objDom = CreateObject(“msxml2.domdocument“)objDom.Load(Request) 获
6、得业务系统发来的指令srcData = objDom.xml 将指令数据赋予字符串变量 srcDataobjUFBank = CreateObject(“UFBank.clsService“)创建接口服务对象retdata=objUFBank.sendBank(cstr(srcdata)调用接口服务对象的方法,并返回指令执行的结果Response.write retdata将执行结果返回业务系统 一个接口服务类 UFBank.clsService。该接口服务类主要作用是:解析业务系统的指令数据,根据指令数据中的银行标识调用相应的银行接口插件(即UFBankPlugin) 。该类是 UFBank
7、 Service 的核心。银行接口插件必须实现UFBank.clsService 要求的接口方法 sendBank(tasked as string, strBankID as string, strFunc as string, lngParaNum as long, aParaValue as variant, SrcData as string, RetData as string, strErrMsg as string, objLog as object)。 一个日志文件类 UFBank.clsLog。该类实现了对日志文件的读和写,该类的一个实例会通过 UFBank.clsSerci
8、ce 传递给银行接口插件,供其写日志文件用。 一个银行接口插件注册文件 UFBankConfig.xml 及读写该注册文件的类UFBank.clsConfig。 一个用户使用的银行参数配置的模块(可执行文件为 UFBankConfig.exe) 。用户通过该模块设置各个银行需要的参数。此外,本模块还额外提供了日志查询的功能。UFBankPlugin 指银行接口插件。银行接口插件的主要功能是:(1)将业务系统发来的指令数据(内部标准格式)转换为相应银行的格式;(2)连接银行并向其发送指令数据;(3)接收银行的返回值并将其转换为内部标准格式;(4)将返回值传递给UFBank.clsSercice。
9、网银适配器二次开发的主要工作就是开发新的银行接口插件。UFBank2.0 中提供了 17个银行接口插件,对于 UFBank2.0 中没有提供的银行接口,分公司、伙伴、用户可以自在本手册的指导下二次开发新的银行接口插件。在银行接口插件中,必须实现 UFBank.clsService 要求的接口方法 sendBank。银行接口插件必须编译为 dll 并且在银行接口插件注册文件 UFBankConfig.xml 中注册。六、 二次开发过程开发一个新的银行接口,过程如下:1、 安装业务系统(NC、U8) ,并在业务系统中注册银行标识等信息。银行标识指银行的唯一标识,如浦发银行标识为:SPDB,民生银行
10、标识为 CMBC。一般采用银行的英文缩写。在业务系统中注册的银行标识与在 UFBank 中注册的银行标识要前后一致(包括大小写) 。NC3.1SP 及以上版本支持银行标识等信息的注册,NC3.1 及以前版本、U8 各版本不支持二次开发人员注册,需要通知 NC 资金开发部、U8 财务开发部的开发人员修改程序并发放专项补丁。2、 建立 UFBank 的二次开发环境。获得 UFBank 的安装盘,安装后自动建立起了 UFBank 的二次开发环境。最新版本的 UFBank 安装盘可从技术支持网站或知识中心下载,或向集团网银适配器开发经理索取。2006 年网银适配器的开发经理为郑传炎(分机电话:2756
11、,EMAIL :zhengcyU) 。3、 注册银行接口插件类及银行参数。在 UFBank 的安装目录下找到 UFBankConfig.xml。用文本编辑器(如记事本、UltraEdit 等)打开,在其中添加新的银行信息。下表是一个样例:配置文件是一个 XML 文件,其根结点为 ,在根节点下面有若干节点,每一个节点代表一套银行系统(之所以不说代表一家银行是因为有的银行有多套系统,如工行有专业版和普通版、建行有重客和外联) 。元素说明了要注册一个新的银行接口插件。银行接口插件的信息通过其属性表示。元素的各属性值说明如下: bankid:必须,全局唯一,指银行的唯一标识,该标识必须与在业务系统(N
12、C/U8 等)中注册的标识完全相同,包括大小写。这是最重要的属性。 shortname:必须,银行系统的简称,将会显示在银行参数配置界面的按钮上。 fullname:必须,值不能为空,银行系统的全称,将会显示在银行参数配置界面的参数上方。 pluginclass:必须,即要进行二次开发的银行接口插件的类名。该属性与 bankid 属性同等重要,将决定要调用哪个银行接口插件。 developer:插件开发者名称,可选的属性。 corpration:插件开发者所属公司,可选的属性。 developtime:插件开发完成时间,可选的属性。 tel:插件开发者联系电话,可选的属性。 email:插件开
13、发者 email,可选的属性。每个元素则代表一个该银行需要的参数。在连接银行时,必须有一些参数,如银行服务器的 IP、端口号、企业代码、操作员、操作员口令等等。这些参数的具体值须由用户在运行时指定,所以银行接口必须提供参数设置的界面。为了避免每个银行接口插件都开发参数设置界面,UFBank Service 提供了统一的参数设置界面(UFBankConfig.exe) ,只要将银行需要的参数在配置文件中注册,UFBank Service 的参数设置界面在运行时就会自动调用这些参数,由用户对其值进行设置。在 UFBank Service 调用银行接口插件时,会从配置文件中取出各个参数的值,作为参数
14、传给银行接口插件的接口方法 SendBank。元素的各属性值说明如下: paraid:必须,参数 ID,在一个下面,paraid 必须唯一,否则会引发未知错误。 paraname:必须,参数名称,将在银行参数设置界面显示出来。 paravalue:必须,参数值,在二次开发人员注册时该属性的值为空串,在运行时用户在“参数设置界面”输入后会自动保存到配置文件中。 ispassword:必须,该参数是否口令字段,值必须为下列之一:Y|N|YES|NO|T|F|TRUE|FALSE,大小写不限,如为是,则参数设置界面保存paravalue 时会对其值进行加密。这样,在配置文件中看到的 paravalu
15、e 就不会是密码的源文了,由此保证密码数据的安全。 note:必须,参数说明,对该参数进行的详细说明,本详细说明在参数设置界面会进行显示。为了更清楚地说明和属性的含义,下面对照参数设置界面进行说明:重要说明:(1) 严禁修改配置文件中原有数据,只能向其中添加新的数据。(2) 银行标识符(元素 bankid 属性的值)与业务系统(NC、U8 等)要严格一致,包括大小写。(3) 配置文件中内容是区分大小写的。(4) 添加的数据必须严格符合上述的要求。UFBank Service 提供了会对配置文件进行有效性校验,如其格式不符合格式要求,会影响整个 UFBank 系统的运行,每一个按钮对应着配置文件
16、中一个节点。按钮上显示的文本为元素的shortname 属性的值。括起来的内容来自于配置文件中元素的 fullname属性的值。该处的文本对应于元素的paraname 属性的值。屏幕提示的文本对应于元素的 note 属性的值。在点击保存按钮时,文本框内的文本会被保存到配置文件中中 paravalue 属性的值。当元素的 ispassword 属性为 Y等值时,文本框显示为密码框,且该框中的文本内容在保存到配置文件中时加密。包括其他的银行接口插件。(5) 可以通过参数设置界面(执行 UFBank 安装目录下的 UFBankConfig.exe 文件)来测试添加的数据的有效性。如新增加的银行对应的
17、按钮,以及点击该铵钮后的参数都能正确显示,则说明数据是有效的。4、 开发银行接口插件。银行接口插件必须编译为 dll,插件必须实现 UFBank Service 要求的 sendBank 接口方法。该插件编译后的名称必须是上一步在配置文件中注册的元素的 pluginclass 属性的值。sendBank 接口方法声明如下所示:sendBank(taskID as string, _BankID as string, _FuncID as string, _ParaNum as long, _ParaValue as variant, _SrcData as string, _RstData a
18、s string, _TranFlag as integer, _ErrMsg as string, _Log as object , _optional param1 as strng, _optional param2 as string, _optional param3 as string, _optional param4 as variant, _optional param5 as variant) as boolean返回值说明:执行成功返回 True,执行失败返回 False。参数说明: taskid:任务号,业务系统每次调用 UFBank,UFBank 都会随机产生一个任务
19、号。该任务号的主要作用是作为写日志文件时的参数,用以对日志进行分析时使用。 BankID:银行标识,在业务系统和 UFBank 中注册的银行标识。银行标识主要在UFBank Service 中使用,用以从配置文件中寻找该银行标识对应的银行接口插件。该参数对银行接口插件的二次开发者暂时无用。 FuncID:功能号,即要求银行做什么样的操作。UFBank2.0 中,要求银行接口插件实现 5 个功能,这 5 个功能的功能号分别为:功能号 含义ye 余额查询mx 明细查询(对账单下载)zf 支付jtzf 集团支付zfcx 支付查询如果二次开发的银行对上述有的功能没实现,可返回错误信息。 ParaNum
20、、ParaValue:参数个数和参数值,UFBank Service 从配置文件中找到其注册的参数,并将其参数的个数、参数值通过这两个参数传递过来。ParaValue 是一个 String 型的一维数组,数组的下限为 0,上限为 ParaNum-1。如果ParaNum明细下载 司账号 trsamt=交易金额 crtbalance=收方余额 dbtbalance=付方余额 check_num=凭证号 trans_abstr=摘要 c_ccynbr=币种 nusage=用途 accthostseqid= 会计系统主机流水号 reqseqno=渠道流水号 yurref=业务参考号 trans_type=业务种类 xyflag=协议划款标识 dbtdwmc=付方单位名称 crtdwmc=收方单位名称 txseqid=交易流水号 traceno=交易序号 amount_sign=借贷标志 lasbal_sign=正负标志 usable_balance=可用余额 dealplace=交易行号 uid=唯一号represerved1= 备用字段 1 represerved2=备用字段 2 curpage=当前页次 pagecount=总页次/支付转账
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。