银企直联是指银行的信息系统与企业的信息系统连接在一起,企业可以通过网络(公网或专线)直接快速的处理银行相关业务,为此,各家银行开发并公布了成熟完备的银企直联接口提供相应服务,企业信息系统调用各种接口实现对应功能。
银企直联的建设通常分为银行事务和系统集成两个工作阶段,银行事务阶段一般包括商务和技术两个部分,商务部分企业要先与银行签订合作协议或服务合同,即约定企业从银行获得银企直联授权及相关服务,一般由企业财务部门资金管理专业会计与银行的客户经理接洽,同时,企业需要按银行的要求准备一系列文件(部分需要加盖公章),企业提供的材料中有些较为细节,比如账户是否开通对私支付业务均需要说明(如遗漏,实际调用接口做付款时将提示授权不够)。
银行收到文件后进行内部审批,审批通过后,银行为企业开通银企直联业务,一家银行只需要开通一次,企业(开通银企直联的一个会计主体)下的该银行账号均可被覆盖。如果企业总部希望将旗下子企业的账号也纳入银企直联管理,则需要按银行要求提供子企业加盖公章的授权说明等材料一并提交(也可以后续追加开通)。
需要特别说明的是,企业开通银企直联业务根据各家银行的规定以及企业在银行的存款情况可能会发生一定的费用(银行收取的费用)。此外,企业准备材料以及银行审批均需要一定的时间,特别是银行审批需要的时间或许较长(十多天或数十天),企业在做相关信息化建设时需有所预估和提前。
银企直联开通的同时,企业将获得用于身份验证的签名证书,用于银企直联数据传输时的身份验证。证书有硬件证书和软件证书两种,其中硬件证书外形类似于U盘将插在银行前置机USB口上(USB-Key,即Ukey)。在实际生产环境下,通常可以选择硬件证书或者软证书中的一种,而在建设过程中的测试环境下,银行通常只给软证书用作调试。
商务部分完成后工作被移交到银行的技术部门,技术部分的主要内容是前置机部署和银企接口调试。银企直联因为涉及资金往来所以对数据传输的安全性有极高要求,前置机就是最常见的安全手段之一,为防止数据在银行和企业之间传输的过程中被截取或篡改,银企直联时企业至银行间的数据通讯必须经过前置机,前置机通常部署于企业机房中,前置机上运行有安全处理软件(配合上述签名证书使用),对企业与银行间传输的数据进行加密和解密处理,以保障数据的安全性和完整性。
具体的,企业首先需要提前按银行的配置建议准备好一台已安装操作系统的前置机,前置机使用常规硬件配置的PC机即可,需要专机专用,建议一家银行至少使用一台对应专用的物理前置机,而当企业有多个业务系统都使用同一家银行的银企直联时,为服务更可靠也可以为直连该银行的每个业务系统配置一台前置机,或者某业务系统的银行业务量巨大,也可以按需为其准备数量超过一台的前置机。不过如果银行较多时若干台前置机将会占用企业机房较多空间,所以虚拟机也是一种选择,但需要管理好,可能需要解决因虚拟机带来的一些问题。之后,有的银行会派技术人员到客户现场安装前置机程序并完成相关配置,有的银行则远程指导企业信息部门技术人员完成前置机相关工作。
银行方面的工作告一段落后就是企业系统具体与银企直联集成了,集成的方式主要有三种。
第一种,如果企业所选业务系统的厂商技术能力较强并且有银企直联集成经验,理论上讲企业可以由业务系统厂商来做开发,让业务系统直接调用银企直联接口实现相关功能,但这种方式需要注意的是,因为银企直联集成相对有一定的专业性,各家银行的接口和服务形式还有一定的区别,并且涉及到资金收付,要求相关开发要非常严谨和可靠。
业务系统厂商单纯技术方面倒不一定有问题(因为银企直联本身采用的就是很常规的技术方案),问题往往是经验,比如有的银行前置机程序在较长的一段时间内没有被调用就会进入类似于休眠状态,此时业务系统发起支付就会失败,如果业务系统厂商此前不了解该细节在起初阶段就会遇到问题,而且遇到问题后,需要厂商直接与银行技术部门沟通寻求技术支持,但银行技术部门因为要同时支持多家客户所以有时响应及时程度会略弱。如上,如果采用第一种方式需要企业和业务系统厂商投入更多的资源和精力,把开发和测试做到位。
第二种,很多企业此前已实施有专业的资金管理系统,而银企直联是现代资金系统最核心的基础功能之一,所以可以选择通过资金系统实现业务系统的银企直联。
该方式的好处是,术业有专攻,资金系统厂商在此方面更专业一些。资金系统通常已与大部分银行有成熟接口,在企业完成银行阶段工作后,与银行的集成交由资金系统厂商即可,后续的重点就是业务系统与资金系统集成的内容了。这种方式下,因存在资金系统厂商的配置、测试、沟通协调等工作量,所以每接一家银行资金系统厂商会收取一定的费用(通常是几万元)。
对于业务系统而言,采用第二种方式时业务功能开发的内容是不变的,只是由资金系统屏蔽了大部分直接调用银企直联接口的复杂度,改为与资金系统集成,资金系统也成为了企业银企直联的统一门户,多个业务系统采用统一的模式与资金系统对接。
具体工作中,资金系统厂商与银行集成更熟悉,所以通常可以快速完成银企对接,在与业务系统的集成中,响应及时程度也更好一点(通常资金系统厂商会以项目方式完成新银行的集成,所以资源更聚焦一些)。基于资金系统,业务系统厂商可以更好的把精力用在完成业务功能上,此时业务系统与资金系统的数据交互规则设计和代码开发是重点(第一种方式亦然),需要细化的拆分与银行收支相关的业务流程和状态,要做到业务流程中所有环节都有对应的状态,并强调数据推送都要有对应反馈,必须依据资金系统确定的反馈去执行业务动作和修改业务状态。
举例说明,比如业务系统向资金系统推送付款申请,如果推送后就把付款单状态改为付款中是不准确的,因为付款申请的数据包有可能没有成功送达资金系统,而且资金系统收到付款申请后会首先向业务系统反馈接收状态,如果业务系统忽略了此状态反馈,当网络异常或者其他原因导致资金系统未收到数据,那么此时付款中这个状态就是不正确的,会误导用户,所以必须将状态进一步拆分为已推送,当收到资金系统反馈的接收成功后再改为付款中。
总之,业务系统与资金系统间数据交互因为涉及到实际的资金收支(线上直接完成支付),包括数据查重校验(避免重复支付)等在内的规则设计,以及高质量的程序开发,都是企业和相关系统厂商需要格外关注的工作。