农行企业银行ERP接口开发参考资料
如果ERP采用调用socket服务方式接入,则农行通讯器CT将负责取得查询结果文件放在指定目录,由ERP来访问此文件,目录为通讯器CT安装路径下的detail目录下。
3.4
帐户余额查询机制
考虑到一次提交查询的帐户太多,则等待查询结果的时间将太长,不利于系统的超时控制,因此企业银行系统限定每次提交的待查询帐户个数不能超过十个。 3.5
企业操作员签到/签退
对于ERP采用调用农行通讯器方式接入时,操作员签到/签退交易由农行通讯器CT完成,ERP不必发起该交易。但是当ERP调用动态库方式接入时,在企业开始做交易之前,必须先完成操作员签到,由于存在一些特殊处理,此处单独描述一下。
操作员签到流程如下:
1. 首先下载系统必须的文件,下载的文件包括: 文件类型 数据字典 交易控制文件 文件名 dict transctrl.ini 随意存放 存放到hsclient.dll动态库所在路径的config目录下 存放路径 备注 可选 必需下载 2. 下载文件成功后,发起C100操作员签到交易。CS返回成功后,保存CS返回报文
中的“认证码”(/),在以后每笔交易的请求报文中插入认证码域。具体接口参考操作员签到接口。
在ERP接口准备退出时,必须调用操作员签退,如果不签退,则会给CS带来大量消息发送失败的情况。 3.6
文件处理机制
前面实际上已经很多地方提到了文件处理的问题。农行企业银行系统考虑到联机通讯压力和部分交易的传输数据量大,因此交易返回时采用了文件返回。下面来探讨ERP接口中如何处理文件的问题。
首先交易应答是否通过文件返回是根据交易包中的“是否文件标识”(/
其次,如果的确通过文件返回,则根据交易包中的“批量文件名”(/
在得到这两个必要信息后,根据接入方式不同做如下处理: 3.6.1
调用动态库接入方式
ERP主程序调用HSClient.dll中的文件服务API函数GetFile(IP地址,端口号,超时时间,远程文件名,全路径的本地文件名,错误信息),即可以将文件下载到本地指定的目录及文件名。
企业银行平台
9
PP/CME/RD0004V1.0
农行企业银行ERP接口开发参考资料
3.6.2 调用农行通讯器方式
对于调用农行通讯器方式的ERP而言,农行通讯器CT已经将文件下载到通讯器所在机器的指定路径。考虑到该通讯器一般情况下运行在ERP程序的同一台机器或者同一局域网内,因此希望ERP直接采用文件共享加上磁盘映射方式直接读取文件即可。 3.7
系统安全机制
3.7.1 安全机制介绍
系统安全机制现在主要从如下方面考虑: 1. 通讯安全
通讯安全分两部分考虑,首先是企业内部局域网之间的通讯安全,其次是从企业到省行中心的广域网安全。
1) 局域网:
局域网内主要是指从ERP到CS的通讯安全。如果采用调用动态库方式接入,HSClient.dll会对重要交易(所谓重要交易是指银行认为存在一定风险的交易)的报文进行加密,CS接收到密文后解密进行处理,然后向银行提交。如果采用调用农行通讯器CT方式接入,则从ERP到CT的报文将采用明文,对于重要交易从CT到CS的报文将采用密文。 2) 广域网:
广域网主要是指从CS到ES的通讯安全。CS到ES之间我们采用了虚拟专网VPN(Virtual Private Net)来保障通讯安全,CS上需要安装VPN客户端(VC),银行端安装VPN网关。 2. 应用安全
为了便于系统的扩展和开发的便捷,农行企业银行系统做到了应用与安全相对隔离。应用的安全从三方面来看待:
1) 身份认证:
身份认证是电子方式进行交易的一个关键性问题,虽然有数字证书,但是如果每次交易都去与IC卡进行交互,将大大降低交易效率。为了解决该问题,我们从应用层增加了“认证码”的概念,所谓认证码实际上就是一个随机密钥。在操作员签到时由银行产生并下传给操作端,操作端保存该随机密钥,以后每笔交易必须将操作员号、企业代码和认证码上传,以便认定操作员身份。
操作员签到时需要进行数字签名,通过数字签名确认操作员身份后才生成认证码。 2) 数字签名:
数字签名主要用于认证身份、保证报文防篡改、防止抵赖。上面已经提到,操作员签到时需要数字签名,另外,在进行交易时,对于重要交易需要进行数字签名。数字签名在银行端ES进行校验,通过后才能向帐务系统发送。银行端记录了数字签名,以便事后查证。
3) 操作员密码保护和权限控制:
为了增强系统应用的安全性,除了IC以外,还增加了操作员密码保护功能。该功能需要操作员在签到时输入应用系统的使用密码,密码域单独加密。 操作员有一定权限控制,具体可以参考《操作员管理机制描述》文档,但是对于ERP
企业银行平台
10
PP/CME/RD0004V1.0
农行企业银行ERP接口开发参考资料
来说,操作员并受权限控制。
3.7.2
ERP需要特殊处理的安全部分
如果ERP接入采用调用农行通讯服务器方式,ERP不需要进行任何安全的特殊处理。对于ERP接入采用调用动态库方式,ERP需要特殊处理以下问题:
1. 初始化设备:该处理必须在操作员签到之前成功调用。设备初始化以后一直处于正
常状态,除非设备掉电,如果出现这种情况,请ERP务必重新初始化设备。 函数名:IC_InitLib,具体接口参考API调用文档。 2. 关闭设备:该处理必须在程序关闭前调用。
函数名:IC_CloseLib,具体接口参考API调用文档。
3. 登录卡:该处理必须在初始化设备后,操作员签到前调用。卡登录后一直处于签到
状态,除非两种情况,一是设备掉电,二是卡被拔出,如果出现了这种情况,请ERP务必重新签到。
函数名:IC_Login,具体接口参考API调用文档。
4. 签退卡:该处理必须在关闭设备前调用。卡签退后,底层函数不能进行签名和获取
企业信息的操作,因此不能再向CS发送非管理类交易。 函数名:IC_Logout,具体接口参考API调用文档。 3.8
异常处理机制
1. 设置超时时间:企业财务/结算系统端大于企业通讯器CT,企业通讯器大于企业服
务器CS,企业服务器大于银行接入服务器ES,银行接入服务器大于银行综合前置。 2. 对金融类交易,复核完成后(ERP接入无需复核),企业端向ES端提交,记录发送
状态,ES端接收到后向银行业务主机转发,接收应答后记录流水和状态,农行企业服务器端接收应答后修改流水状态,若企业财务系统ERP或CC端接收超时,可以向农行企业服务器端发起查询流水状态的交易,系统提供了查询银行后台处理状态的功能。
对查询类交易,若查询超时或失败,可由操作员重新发起查询。
4 数据字典定义
数据字典是本系统的业务基础,基本涵盖了所有的字段及其属性信息。数据字典的用途可以非常广泛,目前数据字典的功用还有待开发。 4.1
字典键值索引(0) 1 2 3 4
返回来源 农行他行标志 同城异地标志 汇兑类型
11
PP/CME/RD0004V1.0
企业银行平台
农行企业银行ERP接口开发参考资料
5 反向归集标志 6 利息再分配周期 7 利息再可配标志 8 法人间资金归集标志 9 资金归集方向 10 资金归集周期 11 资金归集类型 12 业务类型
13 申请/恢复额度标志 14 生效标志 15 额度转移标志
16 可使用上级额度标志 17 票据状态
18 电子对账单输出标志 19 账页输出标志 20 现转标志 21 发生额标志 22 交易类别 23 授信种类 24 票据种类 25 凭证种类 26 摘要
27 帐户操作权限 28 帐户类型 29 加急标志 30 到账通知标志 31 联系方式
32 消息(通知)类型 33 消息发送标志 34 归集帐户 35 流水状态 36 企业状态 37 证件类型 38 利率标志 39 使用状态 40 省市代码 41 货币码 42 交易代码
43 企业操作员类别 44 企业操作员状态 45 收妥标志 46 汇票种类 47 本票种类 48 查询类型
企业银行平台
12
PP/CME/RD0004V1.0
农行企业银行ERP接口开发参考资料
49 预约标志 50 落地处理标志 51 修改内容 53 对账标志 54 可否转汇标志 55 挂失方式 56 领取方式
59 操作员联机状态 60 授权帐户状态 61 自身归集状态 62 上级归集状态 63 收费基数类型 64 支票种类 65 通知处理状态
66 资金归集关系修改类型
4.2
返回来源(1) 0 成功返回 1 CMECC返回 2 CMECS返回 3 CMES返回 4 CMF返回 5 ABIS返回 6 CM返回 7 CMC返回
4.3 农行他行标志(2) 0 农行 1
他行
4.4 同城异地标志(3) 0 异地 1
同城
4.5 汇兑类型(4) 0 普通汇兑
1 上级发起的下级账户之间的划款 2
上级发起的下级账户的对外支付
企业银行平台
13
PP/CME/RD0004V1.0