代理外资银行资金清算项目外资银行开发说明A.doc_第1页
代理外资银行资金清算项目外资银行开发说明A.doc_第2页
代理外资银行资金清算项目外资银行开发说明A.doc_第3页
代理外资银行资金清算项目外资银行开发说明A.doc_第4页
代理外资银行资金清算项目外资银行开发说明A.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

商密二级外资银行开发手册 2004年12月15版权所有中国工商银行软件开发中心 中国工商银行软件开发中心外资银行开发手册前言本文档用于指导外资银行进行开发,实现工行代理外资银行帐务资金清算的功能。目 录1.概述12.总体架构介绍12.1 系统架构12.1.1系统架构图示12.1.2系统架构说明12.2 安全控制介绍33.功能介绍43.1 功能树43.2 功能描述53.2.1内部管理系统53.2.2交易部分54.交易流程55.外资银行环境要求65.1软件环境65.2网络环境66.接口说明66.1交易包的格式概况66.2 支付指令交易包格式(01类包)76.3 支付指令应答包格式(02类包)86.4历史明细查询指令交易包格式(03类包)86.5历史明细查询指令应答包格式(04类包)96.6支付指令状态查询交易包格式(05类包)116.7支付指令状态查询指令应答包格式(06类包)116.8余额查询指令交易包格式(07类包)126.9余额查询指令应答包格式(08类包)126.10关于交易包格式的说明137.外资银行开发过程描述147.1外资银行提交交易过程:147.2外资银行接收返回数据过程:141. 概述该开发手册从总体框架、功能介绍、交易流程、外资银行环境要求、接口说明、开发过程等各个方面进行了描述,以指导外资银行进行开发。2. 总体架构介绍2.1 系统架构2.1.1系统架构图示2.1.2系统架构说明代理外资银行资金清算系统(以下简称代理资金清算系统)利用网上银行系统的资金清算途径完成与外资银行代理人民币汇兑的汇划和清算功能。外资银行与本系统间通过专线连接,之间的数据通讯使用IBM 公司的MQ系统实现,在本系统与外资银行之间的数据传递在应用上使用国际标准的DES或者3-DES算法。为了保证外资银行的MQ服务器的安全性,外资银行可以使用MQ IPT第三方产品。工行侧使用防火墙将工行内部的MQ服务器和代理资金清算系统前置机与公网隔开,未使用MQ IPT等第三方安全产品。外资银行通过MQ将交易请求包发送到工行MQ,工行MQ将交易数据发送到工行银行系统,对交易数据进行处理,并返回处理信息,通过工行MQ将交易应答包返回到外资银行MQ。注:对于MQ队列的命名规则:工商银行端:队列管理器:QM_ZH 本地接收队列:外资银行英文缩写.TO.ICBC远程队列:Q_R_外资银行英文缩写_PAID传输队列:Q_T_外资银行英文缩写_PAID 请求方通道:外资银行英文缩写.TO.ICBC 服务器通道: ICBC.TO.外资银行英文缩写端口号:1414 外资银行端:队列管理器:PAID_QM外资银行英文缩写本地接收队列:ICBC.TO.外资银行英文缩写远程队列:Q_R_ICBC _PAID 传输队列:Q_T_ICBC_PAID请求方通道:ICBC.TO.外资银行英文缩写 服务器通道:外资银行英文缩写.TO.ICBC端口号:1416 说明:1) 外资银行英文缩写为4位;2) MQ version的版本是 IBM MQ 5.3 特例说明:1)对于外资银行端的队列管理器:PAID_QM外资银行英文缩写,目前生产系统中先期投产的外资银行的英文缩写不是标准的,以后投产的外资银行需按照标准命名。2.2 安全控制介绍1. 在传输层上,由MQ底层的通道加密传输保证数据安全。2. 在网络层上,由防火墙提供安全保护。3. 在应用层上,不同的外资银行采用不同的加密算法和密钥,在交易包上置密押字段。4. 交易请求包(01、03、05、07):交易请求包都加密,加密字段包括请求包中的所有字段(除外资银行ID和密押、结束符外)。加密算法外资银行自己配置,目前工行支持的加密算法为:DES和3DES 算法。加密和密押步骤:第一步,外资银行生成请求包(此时还没有密押和结束符)第二步,对除去第一项外资银行ID(BankID)外的字段进行加密和BASE64编码,此时的请求包为:BankID + 加密和编码后的字段。第三步,对(BankID + 加密和编码后的字段 + 密钥)字符串进行SHA-1消息摘要运算生成20位消息摘要,然后对20位消息摘要进行BASE64编码生成28个字符的密押,并把密押和结束符加到(BankID + 加密和编码后的字段)字符串后面,此时的请求包为:BankID + 加密和编码后的字段 + 密押 + 结束符,这就是加密加押后的请求包格式。5. 交易应答包(02、04、06、08):交易应答包可支持加密(DES或3-DES算法)和不加密,根据客户的要求进行配置。对于加密的交易应答包(除02包外),加密字段包括返回包中所有字段(除密押和结束符外)。加密算法是同外资银行采用的算法(DES或者3-DES),且根据外资银行的密钥进行加密;同时,在加密后的密文后加上密押,密押是根据加密后的密文和外资银行的密钥进行加密,这样只有外资银行自己进行解密、验密。加密和密押步骤:第一步,用外资银行采用的DES或3DES加密方法加密返回包(包括BankID,此时返回包还没有密押和结束符)并在加密后进行Base64编码。第二步,对(加密和编码后的字段 + 密钥)字符串进行SHA-1消息摘要运算生成20位消息摘要,然后对20位消息摘要进行BASE64编码生成28个字符的密押,并把密押和结束符加到(加密和编码后的字段)字符串后面,此时的请求包为:加密和编码后的字段 + 密押 + 结束符,这就是加密加押后的返回包格式。6. 对于目前已经投产的外资银行的加密算法不作改动,仍使用现有的方式。3. 功能介绍3.1 功能树3.2 功能描述3.2.1内部管理系统1、总行柜员:1) 增加外资银行:总行柜员通过该功能,增加和注册外资银行客户ID;2) 删除外资银行注册信息、修改密钥和启动日期:总行柜员通过该同能,删除外资银行的注册ID;同时总行柜员可以修改外资银行的密钥和启动日期。3) 修改外资银行信息:总行柜员通过该功能修改外资银行的中文名称和英文名称。2、网点柜员:1) 注册外资银行付款帐号:网点柜员为开通的外资银行注册付款帐号。如果没有注册付款帐号,则转帐不能成功;2) 查询和打印外资银行的支付指令报表:3) 批复和查询支付指令:网点柜员对落地和可疑的支付指令进行批复。3.2.2交易部分1、支付指令:外资银行可以发起支付指令,进行转帐交易;2、查询开户帐号的当前余额:外资银行通过该功能,查询帐号的当前余额;3、查询开户帐号的历史明细:外资银行通过该功能,查询帐号的历史明细(时间范围为3个月内);4、查询支付指令详细信息:外资银行通过该功能,查询指令需要对应的详细信息。4. 交易流程1、 外资银行通过MQ将交易请求发给工行MQ服务器。2、 如果是支付指令,则检查支付指令是否正确,并返回外资银行相关应答包信息3、 对于查询历史明细、查询支付指令状态、查询余额请求包,工行银行系统进行相应业务处理,并返回相关应答包信息。5. 外资银行环境要求5.1软件环境要求MQ的版本为IBM MQ5.3。其他无要求。5.2网络环境外资银行和工行网络通过专线(至少64K或者更高)相连,ISDN拨号作为备份。6. 接口说明6.1交易包的格式概况1、根据业务的不同种类及数据量的大小,外资银行与工行总行的通讯包共分为8种,由包头的交易包类别进行识别,如下所述:4 类别1代表支付指令包(单包),由外资银行主动发起。(已经在一期已经实现)4 类别2代表支付指令应答包(单包),是工行对外资银行支付指令的应答。(已经在一期已经实现)4 类别3代表历史明细查询指令包(单包),由外资银行主动发起。4 类别4代表历史明细查询指令应答包(单包),是工行对外资银行查询指令的应答。4 类别5代表支付指令状态查询包(单包),由外资银行主动发起。4 类别6代表支付指令状态查询应答包(单包),是工行对外资银行支付指令的应答。4 类别7代表余额查询指令包(单包),由外资银行主动发起。4 类别8代表余额查询指令应答包(单包),是工行对外资银行查询指令的应答。2、已经投产的外资银行交易包格式中,密押字段长度为16位,即对于上述8种交易包中的密押保持不变,仍为16位。6.2 支付指令交易包格式(01类包)说明:下列各项数据项说明中数据长度为最大长度。 序号数据项名称长度数据类型备注1外资银行ID8数字前三位为外资银行人行规定现代化支付系统CNAPS行号的前3位,后5位为银行分支号2交易包类型2数字为013支付种类类型1数字1 外资银行客户付款 2 外资银行客户收款(目前不支持)3 转帐4请求指令编号16字符外资银行方产生,不得重复5支付日期8数字6金额15数字后两位为小数数字,即单位为分7付款行行号和分签号8数字工行汇划行号分签号前5位行号,后3位分签号具体数值根据工行提供的入网机构表取得8付款帐号30字符9付款方帐户名称60字符汉字场,最多30汉字10收款帐号30字符11收款帐户名称60字符汉字场,最多30汉字12收款行行号8数字13收款行行名60字符汉字场,收款行为其他商业银行填写14外资银行客户帐号30字符15外资银行客户名称60字符最多30汉字16用途20字符17备用字段40字符保留以后用18密押28字符采用SHA-1算法计算密押19包结束符1字符为!各数据项业务规则说明: 当支付种类为1外资银行客户付款,工行客户收款时:付款行行号分签号:填写外资银行工行结算户的工行行号和分签号付款帐号、户名:填写外资银行工行结算户的帐号、户名收款帐号、户名:填写实际收款帐号、户名收款行行号:收款人在工行开户时填写工行的行号,若不是则置零收款行行名:收款人不在工行开户时填写它行详细名称外资银行客户、名称:填入实际付款人在外资银行的帐户、名称当支付种类为2外资银行客户收款,工行客户付款时:付款行行号分签号:填写实际付款人所在开户行的工行行号分签号付款帐号、户名:填写实际付款人的帐号、户名收款帐号、户名:填写外资银行工行结算户的帐号、户名收款行行号:填写外资银行工行结算户的工行行号收款行行名:置为空外资银行客户、名称:填入实际的收款人在外资银行的帐户、名称当支付种类为3工行客户间转帐业务时:付款行行号分签号:填写付款人工行开户行号分签号付款帐号、户名:填写实际付款人的帐号、户名收款帐号、户名:填写实际收款帐号、户名收款行行号:收款人在工行开户时填写工行的行号,若不是则置零收款行行名:收款人不在工行开户时填写它行详细名称外资银行客户、名称:置空6.3 支付指令应答包格式(02类包)说明:下列各项数据项说明中数据长度为最大长度。序号数据项名称长度数据类型备注1返回结果4数字如果正确,则为空报;如果错误,则为4位错误代码。6.4历史明细查询指令交易包格式(03类包)说明:下列各项数据项说明中数据长度为最大长度。此功能查询返回历史明细结果集。序号数据项名称长度数据类型备注1.外资银行ID8数字前三位为银行标识为,后5位为银行分支号2.交易包类型2数字为033.查询日期8数字yyyymmdd4.查询帐号30字符该帐号应属于工行5.查询包序号2数字由客户生成。序号从1开始。6.查询帐号所属地区号4字符工行地区号具体数值根据工行提供的入网机构表中行标识前4位取得7.明细开始日期8数字yyyymmdd8.明细结束日期8数字yyyymmdd9.最小金额17数字即单位为分10.最大金额17数字即单位为分11.备用字段40字符保留以后用12.密押28字符采用SHA-1算法计算密押13.包结束符1字符为!各数据项业务规则说明:查询日期:填写当天工作日期查询帐号:填写要查询的客户帐户明细开始日期:对帐单开始日期明细结束日期:对帐单结束日期6.5历史明细查询指令应答包格式(04类包)说明:下列各项数据项说明中数据长度为最大长度。考虑到在查询历史明细的存储过程中有返回历史明细最大条数的限制,每次查询返回的最大记录数是1500条。序号名称长度数据类型备注1外资银行ID8数字前三位为银行标识为,后5位为银行分支号2交易包类型2数字为043查询返回总笔数6数字4查询包序号2数字客户上送上来序号从1开始。5本包笔数4数字5成败标识1数字0-成功 1-失败 2-查询没数据6结果集7备用字段40字符保留以后用8密押28字符采用SHA-1算法计算密押9结束符1字符!说明:1)查询包序号:客户查询历史明细时,需上送查询包序号。如果明细没有返回结束,客户可以查询下一个包,则序号加1。2)每条记录的字段名包括:1地区号4字符2客户帐号30字符3交易日期8数字4凭证号9字符5摘要20字符6借方发生额17数字后两位为小数数字,可为空7贷方发生额17数字后两位为小数数字,可为空8备用字段17字符9子户号1数字10对方帐号30字符11本方行名60字符12对方行行名60字符13付款单位60字符14业务种类3字符15用途40字符16币种3数字17交易时间6字符hhmmss18附言100字符19备用字段220字符20备用字段320字符说明:1)业务种类(Trans_type):工行返回给外资银行的值是一个三位的代码,外资银行根据工行提供的业务代码对应翻译,将其翻译后展示。000-汇兑001-托收承付002-委托收款 003-信用卡004-(保留)005-银行汇票006-资金划拨007-通存008-通兑017-通存冲正018-通兑冲正020-代收学费022-对公转帐通存023-对公转帐通兑024-对公现金通存025-对公现金通兑099-应解102-银行汇票 2)返回结果是一个记录集,每条记录之间用“|”分隔;每条记录中的字段个数和长度是固定的;3)贷方发生额和借方发生额中只有一个有值。3)每条记录中的字段之间无分隔。6.6支付指令状态查询交易包格式(05类包)说明:下列各项数据项说明中数据长度为最大长度。本功能只支持单笔查询。序号数据项名称长度数据类型备注1外资银行ID8数字前三位为外资银行人行规定现代化支付系统CNAPS行号的前3位,后5位为银行分支号2交易包类型2数字为053请求指令编号16字符4备用字段40字符保留以后用5密押28字符采用SHA-1算法计算密押6包结束符1字符为!6.7支付指令状态查询指令应答包格式(06类包)说明:下列各项数据项说明中数据长度为最大长度。序号数据项名称长度数据类型备注1外资银行ID8数字2交易包类型2数字为063请求指令编号16字符4支付种类类型1字符他行客户付款他行客户收款转帐5凭证编号20字符6支付日期8字符7金额15字符即单位为分8用途20字符9外资银行客户账号30字符10外资银行客户名称60字符11付款行行号分签号8字符12付款行行名60字符13付款帐号30字符14付款方帐户名称60字符15收款帐号30字符16收款帐户名称60字符17收款行行号8字符18收款行行名60字符19返回结果4字符20错误描述200字符21交易时间6字符22指令状态2字符0:该笔交易处理成功1:该笔交易提交工行后,等待银行处理3:该笔交易提交处理状态为可疑,需工行柜员批复4:该笔交易处理失败23付款账号所在地20字符24付款账号地区代码5字符25付款账号网点号4字符26收款账号所在地20字符27批复柜员16字符28批复时间14字符29备用字段140字符保留以后用30备用字段220字符31备用字段320字符32密押28字符采用SHA-1算法计算密押33包结束符1字符为!6.8余额查询指令交易包格式(07类包)说明:下列各项数据项说明中数据长度为最大长度。序号数据项名称长度数据类型备注1外资银行ID8数字前三位为银行标识为,后5位为银行分支号2交易包类型2数字为073查询日期8数字4查询帐号30字符该帐号应属于工行5查询帐号所属地区号4数字工行汇划行号具体数值根据工行提供的入网机构表中行标识的前四位取得6币种3数字001 人民币7备用字段40字符保留以后用8密押28字符采用SHA-1算法计算密押9包结束符1字符为!6.9余额查询指令应答包格式(08类包)说明:下列各项数据项说明中数据长度为最大长度。序号名称长度数据类型备注1外资银行ID8数字前三位为银行标识为,后5位为银行分支号2交易包类型2数字为083客户帐号30字符4昨日余额17数字后两位为小数数字,即单位为分5当前余额17数字后两位为小数数字,即单位为分6可用余额17数字后两位为小数数字,即单位为分7账户属性3字符8币种3字符001 人民币9备用字段140字符保留以后用10备用字段220字符11备用字段320字符11密押28字符采用SHA-1算法计算密押12结束符1字符!说明:账户属性(Acct_Property):工行接口提供3位字符,外资银行根据工行提供的账户属性表进行翻译后展示。001 =基本帐户002 =一般结算户003 =临时帐户004 =专用帐户006 =集团二级分户帐007 =协定存款户008保证金户6.10关于交易包格式的说明1、所有交易包为定长包,且字段长度为下面格式中的字段长度,最后以“!”作为结束符。2、工行方返回包都是加密的(除02包格式外)。加密的字段除:密押、和包结束符外的所有字段。3、工行方返回包的MessageId和CorrelationId取外资银行请求包的MessageId和CorrelationId,所以外资银行可以根据MessageId判断返回包和请求包的对应关系。4、在返回给外资银行的应答中,根据交易是否成功分为两类消息返回。一类为成功的消息:需要将消息的消息头的feedback设为MQFB_PAN,消息体即上述规定的包格式。一类为失败的消息:需要将消息的消息头的feedback设为MQFB_NAN,消息体为4位的错误代码。5、成败标志位仅标识返回有没有数据。6、关于返回码的定义:错误返回码应该包括:a) 数据格式错:ICBC收到的外资银行的数据的格式不符合双方约定的相应的交易类型对应的数据格式,定义返回码为0001;b) 数据验证错,根据外资银行提供的密码,用外资银行提供的算法验证不通过,定义错误返回码为0002;(含该银行ID不存在或错误)c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论