简述银企直联的建设和使用(转载猫说信息化,附带小熊个人见解笔记)
金蝶云社区-福分小熊
福分小熊
42人赞赏了该文章 10730次浏览 未经作者许可,禁止转载编辑于2022年09月15日 09:18:29

1.银企直联是什么

银企直联是指银行的信息系统与企业的信息系统连接在一起,企业可以通过网络(公网或专线)直接快速的处理银行相关业务,为此,各家银行开发并公布了成熟完备的银企直联接口提供相应服务,企业信息系统调用各种接口实现对应功能。


image.png




小熊说:

前置机:确切说是企业前置机,部署于企业内网的服务器(性能上一般要求不用太高),用于安装银行的前置机软件(如兴业银行)。

作为企业ERP系统和银行之间信息交互的中间桥梁。一般前置机服务器上是需要插入银行的UKEY(有些银行银企UKEY为专用的,和网银UKEY区分开的,如兴业银行、交通银行;有些银行的银企UKEY用的就是网银UKEY,如招商银行)。

但是凡事都有特例,如建设银行现金管理版本银企直联,这种无需插入UKEY,需要部署专线的方式实现企业网络到银行网络之间的网络联通和数据加密。

而金蝶的银企互联,是在企业ERP系统和前置机之间,加装银企平台/银企云程序,ERP只需要对接银企平台,而由银企平台负责对接各家银行的前置机程序。






如下是一家银行某版本的部分银企直联接口清单(有的银行直联接口有多个版本,比如集团客户版、电子商务版等


小熊说:

特别是国有银行,如农业银行、建设银行,会有多套的银企直连接口版本




image.png


如下是某银行支付转账接口的请求报文和响应报文格式:

image.png

image.png




小熊说:

所以一般都会推荐大家学习了解XML的基础知识:可参考小熊撰写的XML的入门笔记

【笔记】XML数据传输格式_黑马程序员课程 - bearman - 博客园





如下是某银行账户余额查询接口的数据包示例:


image.png


2.银企直联做什么?

银企直联的建设通常分为银行事务系统集成两个工作阶段。

2.1银行事务-商务层面

银行事务阶段一般包括商务技术两个部分,商务部分企业要先与银行签订合作协议或服务合同,即约定企业从银行获得银企直联授权及相关服务,一般由企业财务部门资金管理专业会计与银行的客户经理接洽,同时,企业需要按银行的要求准备一系列文件(部分需要加盖公章),企业提供的材料中有些较为细节,比如账户是否开通对私支付业务均需要说明(如遗漏,实际调用接口做付款时将提示授权不够)。



小熊说:

(1)涉及到银行事务阶段的话都有些许不同,有可能协议还需要涉及到技术方盖章的三方协议(客户、银行、技术提供方-如金蝶)

如果针对某家银行的流程不熟悉的话,需要提前和银行的客户经理沟通清楚,主要需要做什么?有哪些流程手续需要办理的。

涉及到集团型企业尤为注意,虽然每家银行流程都不太一样,但是一般就是要求需下属公司的话需要签署授权书授权给办理银企的集团公司,这时候下属公司才能使用集团的银企互联。

(2)关于账户是否开通某项业务:如农业银行,会有一张详细的接口表要勾选后方可使用。未勾选部分接口不能使用。




银行收到文件后进行内部审批,审批通过后,银行为企业开通银企直联业务,一家银行只需要开通一次,企业(开通银企直联的一个会计主体)下的该银行账号均可被覆盖。如果企业总部希望将旗下子企业的账号也纳入银企直联管理,则需要按银行要求提供子企业加盖公章的授权说明等材料一并提交(也可以后续追加开通)。


需要特别说明的是,企业开通银企直联业务根据各家银行的规定以及企业在银行的存款情况可能会发生一定的费用(银行收取的费用)。此外,企业准备材料以及银行审批均需要一定的时间,特别是银行审批需要的时间或许较长(十多天或数十天),企业在做相关信息化建设时需有所预估和提前。




小熊说:

实施需要预估好充足时间。



银企直联开通的同时,企业将获得用于身份验证的签名证书,用于银企直联数据传输时的身份验证。证书有硬件证书和软件证书两种,其中硬件证书外形类似于U盘将插在银行前置机USB口上(USB-Key,即Ukey)。在实际生产环境下,通常可以选择硬件证书或者软证书中的一种,而在建设过程中的测试环境下,银行通常只给软证书用作调试。



小熊说:

生产投产用硬KEY(硬件证书);测试一般用软证书。

特例:建设银行测试走公网测试密钥交互、正式走专线测试密钥交互



2.2银行事务-技术层面

商务部分完成后工作被移交到银行的技术部门,技术部分的主要内容是前置机部署和银企接口调试。银企直联因为涉及资金往来所以对数据传输的安全性有极高要求,前置机就是最常见的安全手段之一,为防止数据在银行和企业之间传输的过程中被截取或篡改,银企直联时企业至银行间的数据通讯必须经过前置机,前置机通常部署于企业机房中,前置机上运行有安全处理软件(配合上述签名证书使用),对企业与银行间传输的数据进行加密和解密处理,以保障数据的安全性和完整性


具体的,企业首先需要提前按银行的配置建议准备好一台已安装操作系统的前置机,前置机使用常规硬件配置的PC机即可,需要专机专用建议一家银行至少使用一台对应专用的物理前置机,而当企业有多个业务系统都使用同一家银行的银企直联时,为服务更可靠也可以为直连该银行的每个业务系统配置一台前置机,或者某业务系统的银行业务量巨大,也可以按需为其准备数量超过一台的前置机。不过如果银行较多时若干台前置机将会占用企业机房较多空间,所以虚拟机也是一种选择,但需要管理好,可能需要解决因虚拟机带来的一些问题。之后,有的银行会派技术人员到客户现场安装前置机程序并完成相关配置,有的银行则远程指导企业信息部门技术人员完成前置机相关工作。


3.技术集成方案

银行方面的工作告一段落后就是企业系统具体与银企直联集成了,集成的方式主要有三种

3.1业务系统自行和银行系统进行对接

第一种,如果企业所选业务系统的厂商技术能力较强并且有银企直联集成经验,理论上讲企业可以由业务系统厂商来做开发,让业务系统直接调用银企直联接口实现相关功能,但这种方式需要注意的是,因为银企直联集成相对有一定的专业性,各家银行的接口和服务形式还有一定的区别,并且涉及到资金收付,要求相关开发要非常严谨和可靠。


业务系统厂商单纯技术方面倒不一定有问题(因为银企直联本身采用的就是很常规的技术方案),问题往往是经验,比如有的银行前置机程序在较长的一段时间内没有被调用就会进入类似于休眠状态,此时业务系统发起支付就会失败,如果业务系统厂商此前不了解该细节在起初阶段就会遇到问题,而且遇到问题后,需要厂商直接与银行技术部门沟通寻求技术支持,但银行技术部门因为要同时支持多家客户所以有时响应及时程度会略弱。如上,如果采用第一种方式需要企业和业务系统厂商投入更多的资源和精力,把开发和测试做到位


3.2ERP厂商或者专业资金管理系统厂商或者银行提供的标准银企对接的资金管理系统

第二种,很多企业此前已实施有专业的资金管理系统(国内资金系统典型的厂商包括:深圳市拜特科技股份有限公司、浙江保融科技有限公司、北京九恒星科技股份有限公司、金蝶、用友等),而银企直联是现代资金系统最核心的基础功能之一,所以可以选择通过资金系统实现业务系统的银企直联(如图1)。



小熊说:

金蝶主要采用这种方式,通过银企平台,提供webservice服务给星空和EAS访问使用银企功能,而把对接银行的各个接口的功能的话放到银企平台中。一般对接新银行的通用接口的开发由金蝶总部银企平台团队开发、各机构各项目负责实施顾问测试验证;针对特殊诉求的接口的对接开发就是金蝶各项目和客户协商,由客户针对接口进行二次开发对接。

另外,此处还需要补充解释下,像银行的话也是有提供这样子的资金管理系统的,一般就是多银行管理系统。

如招商银行CBS,通过CBS对接各个银行的前置机,而由ERP来对接CBS,但是一般这种都是需要额外开发的。



image.png

图1:企业各系统通过资金管理系统实现的银企直联


该方式的好处是,术业有专攻,资金系统厂商在此方面更专业一些。资金系统通常已与大部分银行有成熟接口,在企业完成银行阶段工作后,与银行的集成交由资金系统厂商即可,后续的重点就是业务系统与资金系统集成的内容了。这种方式下,因存在资金系统厂商的配置、测试、沟通协调等工作量,所以每接一家银行资金系统厂商会收取一定的费用(通常是几万元)。

对于业务系统而言,采用第二种方式时业务功能开发的内容是不变的,只是由资金系统屏蔽了大部分直接调用银企直联接口的复杂度,改为与资金系统集成,资金系统也成为了企业银企直联的统一门户,多个业务系统采用统一的模式与资金系统对接。

具体工作中,资金系统厂商与银行集成更熟悉,所以通常可以快速完成银企对接,在与业务系统的集成中,响应及时程度也更好一点(通常资金系统厂商会以项目方式完成新银行的集成,所以资源更聚焦一些)。基于资金系统,业务系统厂商可以更好的把精力用在完成业务功能上,此时业务系统与资金系统的数据交互规则设计和代码开发是重点(第一种方式亦然),需要细化的拆分与银行收支相关的业务流程和状态,要做到业务流程中所有环节都有对应的状态,并强调数据推送都要有对应反馈,必须依据资金系统确定的反馈去执行业务动作和修改业务状态

举例说明,比如业务系统向资金系统推送付款申请,如果推送后就把付款单状态改为付款中是不准确的,因为付款申请的数据包有可能没有成功送达资金系统,而且资金系统收到付款申请后会首先向业务系统反馈接收状态,如果业务系统忽略了此状态反馈,当网络异常或者其他原因导致资金系统未收到数据,那么此时付款中这个状态就是不正确的,会误导用户,所以必须将状态进一步拆分为已推送,当收到资金系统反馈的接收成功后再改为付款中

总之,业务系统与资金系统间数据交互因为涉及到实际的资金收支(线上直接完成支付),包括数据查重校验(避免重复支付)等在内的规则设计,以及高质量的程序开发,都是企业和相关系统厂商需要格外关注的工作



关于通过自建的资金系统实现银企直联的方式以及第一种方式(业务系统直联银行),在后续使用中有一个非常非常重要的内容就是运维,实际应用中,因为网络偶发的异常、时常出现的前置机Key异常脱机和证书认证异常、银企直联接口服务不稳定、银行接口变化等情况,使得银行前置机程序的服务不总在线,进而影响到业务系统的使用,而接口因为种种客观原因不那么稳定的现象在银企直联的应用中感觉比较普遍,为保障服务持续性往往需要人工时常巡检和及时处置。此外,还包括业务系统数据异常(如收款方名称或账号错误等)、银行支付异常等各种情况,需要资金系统管理员去查看银行反馈信息并进行干预(反馈信息对常规用户来说有时较抽象,而且各家银行的还不相同,往往需要资金系统原厂专业工程师解读和处理),总的来说,自建的银企直联对企业而言基本是个重运维的应用



小熊说:

运维工作是大头。



此外,SAP ERP系统资金管理功能体系下的中国本地化产品包中有Electronic Payment Integration(For China),即SAP的中国银企直联EPIC,EPIC目前官方提供工行、农行、中行、交行、建行5家银行的银企直联接口,其他银行则需要SAP ERP系统的实施厂商在项目中通过具体的开发对接。


3.3公有云通道型应用

第三种,通常是一种公有云通道型应用(特殊情况下也可以私有化部署),厂商的云系统与大量银行对接,云系统自己再开发一套接口面向企业客户,以公有云的方式向企业提供一种简单化的以一套接口集成多家银行的银企直联通道。这种方式下,与各家银行接口集成的技术和运维复杂度由云系统厂商解决,对企业而言,只需要面向云系统的一套接口就行,不需要面向多家银行的多个接口,相当于云系统把多家银行的接口翻译为一种接口,统一了银企直联数据接口界面,降低了企业客户使用的复杂度,用友银企联就是这种系统(如图2)。具体应用中,在托管模式下,前置机可由云系统厂商负责,key也由云系统厂商托管,相当于前二种方式下关于前置机的相关运维工作企业自己就不用管了,其他用法效果是一样的。



image.png


图2:用友银企联(图片来自北京用友融联科技有限公司官网)



小熊说:

这种模式的话其实换汤不换药,无非就是前置机部署在哪的问题,用友提供的是前置机和UKEY托管的方式。

企业无需自建机房,一般适合于小公司,大型集团或国有企业一般推荐的话都是私有化部署。


其实具体来说,这种模式的话更为领先的话是平安银行、工商银行、招商银行提供的SAAS模式的对接

如用友已经支持,可参考如下帖子

金蝶也是支持的,同时针对中小微企业所使用的金蝶云星辰,相关功能和对接已经集成于标准产品中。





以上是对三种银企直联方式做了简要介绍,其中第三种方式较新,目前我(此处的我指猫说信息化主笔苗峰)还没有适合的项目去实践,前两种方式在我们此前的项目上已有应用,与其相关的工作内容很多……,在技术层面需要很重视。


本文转载自:微信公众号猫说信息化2020-08-09

作者:苗峰

原文链接:https://mp.weixin.qq.com/s/WotFT5pd0IwwaRKtYIT2Pw

赞 42