外币卡收单系统的设计和实现

随着我国对外交往的不断扩大,到我国旅游和从事商务活动的外籍人士将越来越多,这对我国的银行卡受理环境提出了更高的要求。另外,只有改善外币卡受理环境,积极参与国际业务,才能积累丰富的国际金融业务经验,进一步提高金融服务水平。因此,商业银行提高对外币卡的受理能力变得愈加重要,开发、建设功能强大的外币卡收单系统是提升外币卡受理能力的重要途径之一。抓住建设银行对全行自助设备进行统一整合并扩充功能的机会,可充分利用总行提供的资源,对建设银行云南省分行(以下简称我行)的科技产品进行大力创新。在这样的背景下,我行完成了外币卡收单系统项目。

一、设计思想

这里的外币卡包括:与建设银行签订受理协议的VISA卡、MasterCard卡、American Ex-press卡、Diners Club卡、JCB卡等在境外发行的外币卡,以及中国境内所有银行的国际借记卡和贷记卡。

外币卡收单系统是继龙卡业务系统、银行卡联网联合系统、贷记卡收单业务系统之后的另一银行卡业务系统,可实现取款/查询交易、自动冲正、安全控制、清算/清分对账,差错处理/调账、系统配置管理和统计分析等功能。

根据我行现有硬件资源和网络结构的实际情况,外币卡收单系统必须对原有投资进行保护,充分利用现有的网络资源。必须遵循简单、实用、低投入、高产出的原则。

在技术方面,实现交换平台到外卡中心以及外卡中心到交换平台的交易转发。在交换平台和外币卡收单系统接口之间采用消息队列的通信方法,在外币卡收单系统接口和外卡中心之间采用TCP/IP通信协议。

二,系统结构

外币卡收单系统实现了总/分结构的设计目标,各分行的外币卡交易可通过外卡总中心转发至国际组织,通过外卡总中心将国际组织返回的清算文件清分至各分行清算。系统采用数据全集中模式,实现了数据的集中管理。同时,外卡分中心可以通过该系统提供的Web界面处理相关业务。这种设计方式与建设银行数据大集中的方向是一致的,有利于将来系统的移植改造甲。

三.通信接口

基于上述基本架构,外卡总中心与各接入行分中心之间提供基于TCP/IP协议的通信软件接口,以保证各接入行能快速经济地与外卡总中心进行报文交换。

1.全双工套接字连接

通信软件接口在初始化时即连接单个套接字,此套接字同时用于发送和接收报文,初始化结束后即可进行报文交换。采用通信软件接口使用一个套接字同时发送与接收报文的方式。节省了套接字的数量,提高了其使用效率,节省了有限的系统资源。由于软件接口只使用一个套接字,时序问题比较简单,服务方接到报文的顺序和客户方发送的顺序相同,不会出现对交易的冲正建议先于原交易到达的情况。

2.通信软件接口的长连接性和可设置性

利用通信软件接口的长连接特性,可省去每条报文前的通信连接过程,从而使报文交换速度加快。该种接口适用于中介媒体为不按时间收费的通信网络的情况。利用通信软件接口的可设置性,外卡总中心发布工作IP地址和端口号以及测试IP地址和端口号给接入行,各接入行只能连接到给定的IP地址/端口号。

3.通信软件的流程要求

在通信软件接口的基础上,外卡总中心对通信软件的内部流程做出一定的规范(如8583报文
规范等),以避免一些不必要的争议,方便各接入行软件的编制。

4.通信连接的建立

通信链路的建立是消息包交换的必要条件,而链路的建立过程是一个服务方(Server)对客户方(Client)做出响应的过程。外卡分中心总是作为服务方等待各接入行的ATM前置机发起连接。而外卡分中心又作为客户方主动向外卡总中心的主机发起连接。

5.报文的交换

套接字初始化过程结束以后,双方即可开始报文的交换,线路上传输的消息包不但满足
TCP/IP协议的特性,也符合外卡总中心的特殊规范和业务流程的要求。

6.长度头的使用

由于TCP/IP消息包是一个字节流的慨念,外卡总中心会要求在每个消息包中包含整个包的长度信息,消息包长度以4位ASCII码格式表示的4位十进制整数提供,高位缺位以“O”表示。整个消息包的格式如下:前4个字节作为一个ASCII字符串,指明消息内容的长度(不包含上述4个字节)。紧接着便是规范的IS08583报文。先读进4个字节后,根据其长度再接收后继的IS08583报文,并对报文进行业务流程处理。

7.消息合法性的验证

通信进程接收到消息包后,即可对消息包进行解读,发现某些情况时即认为通信异常从而转入差错处理。外卡总中心认为的异常包括:一是,收到零长度的消息包(注意,并非消息包的长度域为零),则认为对方关闭套接字;二是,套接字自动消失则被认为是链路层出现问题;三是,消息包的长度域若不是ASCII编码的十进制数字,则认为消息交换过程中出现乱码。各接入行的异常判别除以上几点外还有:收到消息包的长度域为零、收到的消息包无法解读、消息包的长度与被解读的长度不符。

8.差错处理

通信异常发生后,由于不希望人工干预的经常性介入,出错后的恢复机制就显得尤为重要。在我们所采用的通信架构的约束下,当套接字发生异常时,通信进程关闭套接字,并重新进入初始化阶段。若有消息包在应用层等待发送,通信进程则根据业务逻辑决定是返回原始发送方错误响应,还是把其保留下来,并在出错恢复完成后尝试重发或丢弃。

四. 功能模块

1.取款/查询交易

ATM发起的交易请求都是经ATM前置机、外卡分中心和外卡总中心处理后发向国际信用组
织。国际信用卡组织将应答发送给外卡总中心,由外卡总中心转发给外卡分中心,再由外卡分中心转发给ATM前置机。当ATM前置机收到国际组织的应答后,向后台核心发送请求;当ATM前置机收到后台核心的应答后,向ATM发送指令。

2.异常交易自动冲正

为保证账务的一致性,完整性和准确性,对交易还设置了配套的冲正机制,无需人工干涉,由系统自动发起。对所有的异常情况,如宕机、应用出错、报文丢失、网络节点线路不通、单方拒绝请求和响应都给予相应的自动冲正。

3.安全控制

目前,外卡接口的安全控制主要是对PingLock进行转加密,在交易发起时,此工作是在ETS主控中完成的。对于每笔交易的Ping Lock,要求所有的ATM和前置加密机通过3DES算法、128位密钥进行加密,确保系统满足国际组织的要求。

4.清算/清分对帐

总中心将清算数据(总数和流水)传给收单行,并划美元款到收单行国际业务部。系统为了
保障资金交易的有效性,提供了两类对账过程其一,和国际组织的对账过程;其二,和交易收单行的对账过程。通过对账发现并处理差错和生成清算凭证,由财务部门根据生成并打印的财务凭证进行清算。

目前,外卡的对账和清算工作,按照北京外卡收单中心的要求,是通过独立的服务器,在营业网上由分中心登录总中心Web服务器下载对账文件进行对账。整个对账、清算系统和本次开发的外卡接口模块无关。

5.差错处理/调账

适用于对账不平后的差错处理。如果发现对账不平,在差错平台上可以请款、调整、一次退单、再请款、二次退单。如果我行和国际组织仍然对错账存有争议,则可完全参照国际组织的规定进行,包括仲裁的流程和手续。由收单行/区域中心向总中心提请,如果为内部事宜,按《建设银行争议处理办法》解决,如果为国际组织事宜。由外卡总中心集中向国际组织提请。

6.系统监控/配置管理

信息配置管理模块是用于对系统的参数、脚本进行配置处理,其主要功能是:通信线略检测、系统签到/签退、系统密钥交换、配置系统参数(如卡BIN,功能列表等)。并为操作人员提供配置格式转换脚本和路由脚本的界面。同时,系统交易情况和设备状态的详细信息也可以定制,从而有选择地进行日常运行维护。

7.统计分析

收单行处理交易的收益是相当可观的,取款交易约有1.25美元的回佣,非取款交易约有.25美元的回佣,如果没收伪造卡还有100美元的奖励。因此,必须本着“谁受理,谁受益”的原则,将其细分给代理网点。通过这样的方式,促成积极开拓外币卡市场的良性循环,从而使我行的外币卡收单市场日益扩大。基于以上原因,外币卡收单系统按日生成清算结果报表,以此和国际业务部划转的实有资金进行核对轧差。并且,每月对外币卡收单业务的交易笔数和金额进行统计,产生报表,以此为根据,为发生外币卡收单业务的网点划拨服务费。

五.系统性能

为了保证系统的高效性、灵活性、稳定性和可用性,在设计中不仅借用了现代化管理中的流水线手段,还借用了网络中的交换概念。

为保证系统能够以流水线的方式进行交易处理,系统各模块之间的通信采用了新晨Q的邮箱机制。各个模块从自己分配的邮箱中获得工作任务,处理完成后,发至下一个工作模块的邮箱中,然后再从自己的邮箱中读取另一个工作任务。这样的处理方式保证了系统的异步处理能力。由于邮箱是基于消息队列、共享内存和文件综合运用的基础而产生的,故可为系统提供比消息队列、共享内存更大的使用空间、更安全的操作方式和比文件更灵活、高效的处理方式。能够确保信息得到足够的缓冲,大大提高了工作效率和抗冲击性,也提高了系统的稳定性。

为了保证交易的灵活性,首先,在交易的处理过程中,通过定义交易的各个过程,对每个过程配置不同的交易函数,这些函教都放在连接库中,通过配置界面和交易关联起来。这样,对于任何一个交易的处理都可以通过配置来决定其具体的处理方式,可保证交易的灵活性。其次,通过可配置格式转换器、交易路由等工具,使整个交易能够在灵活状态下进行增加、修改和删除操作。再次,在报文转换方面,充分利用了新晨公司的格式转换器,以保证系统的灵活性。

自2003年11月系统投产以来。到目前为止,已实现外币卡收单交易近1000笔,交易金额达100多万美元。在系统的有力支持下,我行的外币卡收单业务呈加速上升态势,带来了丰厚的中间业务收入。

你可能感兴趣的:(设计)