1、 移动银行联网技术协议第 1 页 共 43 页移动银行联网技术协议一、 总体目标二、 基本原则三、 系统构造四、 系统设计移动银行联网技术协议第 2 页 共 43 页一、 总体目标:利用现代通讯技术,建立移动与银行之间的信息传输通道;遵循行业规范,提供通用的中间交易平台;采纳先进的数据库操作技术实现信息安全可靠的存取;达到银行收取移动通信话费和预存款的目的。在此基础上,以电子商务思想为主导,逐步实现银行自动转帐、 “电话银行” 、Internet 网、ATM 机及语音等多种缴费方式以及网上移动各种业务服务功能。为移动运营商拓展营销活动空间、开发服务用户市场、加强行业竟争优势、挖掘新的经济增长点
2、提供多种先进可行的手段。二、 基本原则:1:为确保移动和银行各自数据的存储安全及相对独立性,禁止一方对对方或它方对双方数据库的直接操作。2:为确保移动至银行、银行至移动数据的传输安全,对关键数据或全部数据应采取加密措施。3:为保证数据来源的不可否认性,应采取身份认证措施。4:在保证功能的前提下,确保系统的可靠性。5:在保证系统可靠性的前提下,确保或尽可能提高系统的性能。移动银行联网技术协议第 3 页 共 43 页三、 系统构造:围绕总体目标,遵循基本原则,结合技术市场实际对系统做如下构造:1、 硬件构造: 说明:移动方和银行方各自增加一台主机,称作代理机或代理服务器(Agent Server)
3、 。代理机之间通过网络设备和网络线路相连。TMDDN银行业务网全省营业内部网移动代理主机LAN防火墙管理终端银行代理机移动银行联网技术协议第 4 页 共 43 页在银行方,代理机以银行营业网联接方式与银行营业网相连,作为银行营业网的一个网络接点,是银行与移动进行信息交换的枢纽(Hinge) 。在移动方,代理机以移动营业网联接方式与移动营业网相连,作为移动营业网的一个网络接点,是移动与银行进行信息交换的枢纽(Hinge) 。主要网络设备:路由器(Router)防火墙(FireWall)目的:防止外部攻击。指标:包过滤基于 IP 包的源地址和目的地址的过滤网络地址转换(NAT)基于网络端口的访问控
4、制IP 地址和 MAC 地址的对应 网络传输界质:代理机与内部网之间的信息传输介质依各自内部网联网方式而定。 移动代理机与银行代理机之间的信息传输介质采用 DDN专线。 代理机(Agent Server):移动银行联网技术协议第 5 页 共 43 页机型: 具体型号参照用户要求而定指标:BUS:64 位(或 32 位)CPU : 双 CPU(或多 CPU)RAM :128M-1G(业务量决定)STORAGE: 主机硬盘:磁盘阵列(DiskRaid)数量:两块容量:8 G 以上2、 系统软件组成: 操作系统:UNIX OS 具体版本依主机型号而定 数据库产品:由各自业务网络系统确定 通讯交易中间
5、平台: 安全加密软件:标准 DES 算法身份认证(支持 X。509。V3 标准)3、 应用软件:根据总体目标和用户实际环境定制四、系统设计模块化设计,将中间交易平台划分为基础服务模块和业务处理模移动银行联网技术协议第 6 页 共 43 页块,基础服务模块主要包括安全、通讯、事务监控等子模块,该模块是整个平台的核心;业务处理模块是针对各自综合业务网络系统为各种系统接入提供统一的应用接口,该模块是建立在基础服务模块之上的。1.业务流程设计移动银行联网技术协议第 7 页 共 43 页签到应答成功成功人工维护恢复人工维护恢复签到申请受理查询 受理查询成功显示数据录入数据 业务受理合法记帐成功提示错误提
6、示错误提示错误打印收据提示成功记帐返回银 行 移 动 签到业务受理NNNNN移动银行联网技术协议第 8 页 共 43 页成功返回 记录错误日志告警人工维护数据签退申请 签退应答成功 成功人工签退 人工签退 返回对帐 对帐应答应答返回对帐有错误记录记录错误日志告警人工维护数据返回提示成功签退对帐NY YNY移动银行联网技术协议第 9 页 共 43 页(10)(11)(12)(13)一笔交易业务流程示意图客户到银行网点可使用现金、支票、储蓄存折(借记卡)、信用卡等手段缴费,其缴费步骤如下 :1) 输入客户标识码(输入手机号码)等,银行前台发起查询客户应缴费金额交易;2) 银行代理主机接收交易请求,
7、转发给移动代理机;3) 移动查询客户应缴费金额,将结果返回银行代理主机;4) 银行代理主机将查询结果返回前台;5) 前台得到客户应缴费金额后,客户缴费,银行柜员输入客户实际缴纳费用,银行前台发起客户缴费交易;6) 银行代理主机将交易请求转发给银行主机;7) 银行主机进行帐务冻结处理,将结果返回银行代理主机;银行主机 银行前台银行代理服务器移动代理机 33333333333移动银行联网技术协议第 10 页 共 43 页8) 银行代理主机将交费验证交易转发给移动;9) 移动进行缴费验证处理,将结果返回银行代理主机;10)银行代理主机将验证结果返回银行主机;11)银行主机将交费结果返回银行代理机12
8、)银行代理主机将记帐结果(成功)返回移动代理机,银行代理机不等移动确认。13)银行代理主机将记帐结果(成功或失败)返回前台,银行前台打印缴费收据,缴费过程完成。2.管理功能设计2.1 系统日常管理 系统初始化:初始化系统参数、密钥,清当日交易日志表、补做记录表、失败日志表等 日末处理:当日交易流水归档,手工处理失败日志等 签到:各银行向移动签到每个工作日的开始,接受银行签到请求,确认银行认证码,修改银行签到状态,产生当日传输密钥,回送银行。若银行签到失败,银行可再次向移动签到,至成功为止,否则当日业务无法开展。说明:每个工作日内,成功的签到只有一次,也就是说不允移动银行联网技术协议第 11 页
9、 共 43 页许多次签到。在网络正常的情况下,签到成功的条件是:前日日末处理处于就续状态。 签退:各银行向移动签退每个工作日的结束,接受银行签退请求,确认银行认证码,修改银行签到状态,并把签退结果信息回送银行。若银行签退失败,银行可再次向移动签退,至成功为止,否则下一步业务无法开展。 对帐:移动与各银行对帐。在银行签退的状态下,接受银行日末对帐请求,对工作日内移动缴费、删帐明细与银行缴费、删帐记帐明细进行核对,并把对帐结果状态回送银行。银行方缴费、删帐记帐明细以文件形式传输给移动方。若银行方数据有 MAC错,返回码“1101” ,否则返回码为“0000” 。数据一致 :移动与银行缴费及删帐明细
10、完全相符。银行多帐 :遵循以银行帐为主的原则, (自动)补做。移动多帐 :标识移动多帐错误“1010” ,记错误日志。数据不符 :标识数据不符错误“1011” ,记错误日志。数据 MAC 错:银行数据不合法, 移动银行联网技术协议第 12 页 共 43 页对帐后若银行多帐,遵循以银行帐为主的原则,移动方(自动)补做。对其它情况除 MAC 错之外,人工根据错误记录进行处理。说明:1. 对帐是为保证交易完整性,而进行的检查、修正的特殊交易。2. 利用银行前置机和移动前置机的日志对帐3. 按银行类别为单位对帐4. 银行首先记帐,保证银行日志不少于移动日志。5. 以银行记录为准,在移动补做遗漏的记录。
11、 (移动只收不支)6. 对帐失败要告警并提供手工调整数据手段7. 补做失败要告警并提供手工调整数据手段8. 多帐指交易笔数非金额日末营业结束后由银行统一发起对帐交易 月末处理:月末报表统计、打印。2.2联网银行管理 银行增加: 银行修改:移动银行联网技术协议第 13 页 共 43 页 银行查询:2.3密钥处理 设置或更改主密钥 初始化传输密钥 生成新的 MAC 密钥 生成新的交换密钥2.4 系统维护 数据备份数据恢复 数据清理:清除日志等3.接口设计3.1 通讯模式:移动、银行代理机之间的通讯采用 TCP/IP 协议,使用 TCP 以异步方式接入。3.2 数据包帧格式:struct CtlMs
12、g unsigned char morepkt; 移动银行联网技术协议第 14 页 共 43 页/* 是否还有更多的包? 有 1 无 0 */unsigned char pktype;/* 包类型 1 数据请求 2 数据应答 3 文件 请求 4 文件应答 */unsigned char unitend; /* 一类的结束 结束 1 没结束 0 */unsigned char save; /* 保留位 */unsigned short sequence;/* 包序号 从 1 开始, 网络字节序 */unsigned short length;/* 包实际传的长度(交易内容长小于 216) ,整个
13、包 216,定长(交易内容大于 216,分包) , 网络字节序 */unsigned long msgtype;/* 发起交易的进程 ID 号,每个交易是唯一的,网络字节序*/;/* 包控制信息 */struct Header char codeCODESIZ; /* 交易码 CODESIZ=6 */char d_addORDERSIZ; /* 交易目的地 ORDERSIZ=9*/char l_addORDERSIZ; /* 交易发起地 */;/* 包头部信息 */移动银行联网技术协议第 15 页 共 43 页struct pktstru struct CtlMsg ctlmsg;struct
14、 Header header;char datatransMAXDATASIZ;/* 包传输内容 MAXDATASIZ=216 */;/* 包结构 */说明:如果传输文件,则文件包与数据包分开,该文件包的前 28 个字节为文件名域,不足补空。3.3 交易类型:交易类型大体可分为:查询交易,缴费交易,删帐交易,对帐交易,签到、签退交易等。详细的交易类型列表如下:交易类型 交易类型说明100010 查询已交费交易100011 完全划拨帐单打印交易 /* useless */100012 交费查询交易100013 删帐查询交易( 删帐验证交易)200010 现金交费验证交易210010 现金交费确认
15、交易400010 删帐交易移动银行联网技术协议第 16 页 共 43 页600001 对帐交易900001 签到交易900002 签退交易100014 帐单查询打印交易3.4 交易包格式3.4.1交费查询交易格式:(交易类型 100012) 请求:位域 类型 备注交易包头部 C36操作代码 C4 b000 单机交费b002 退款b004 已交费查询b005 帐单查询打印机器号码 C11 数字机: 机器号码模拟机: 长途区号+机器号码银行代码 C8 应答:位域 类型 备注交易包头部 C36返回码 C4移动银行联网技术协议第 17 页 共 43 页合同号 C15地区代码 C2 市县代码 C2 单位
16、 C59姓名 C12/* 付款方式 C1 */ / the place changed 运行状态 C1付款方式 C1 / the place changed to here 未出帐话费 C12 信誉度 C12预存款 C12/* 补收月租费 C12 */ / remove this line模拟机器数 C4 ( C2 )数字机器数 C4 ( C2 )建议应收款 C12 / added on Oct 21, 2000应交费明细记录数 C4 应交费明细 年份 C4 (发票的数据项)月份 C2 (发票的数据项)本月欠费 C12 本次应收 (发票的数据项)应收款 C12 本次话费 (发票的数据项)滞纳金
17、 C12 (程序计算结果)移动银行联网技术协议第 18 页 共 43 页优惠款 C12预存款划拨 C12新交款 C12 月租费 C12 (发票的数据项)特服费 C12本网费(本地童话费)C12 (发票的数据项)漫游费(漫游通话费)C12 (发票的数据项)长途费(长途通信费)C12 (发票的数据项)附加费 C12其他费 C12代收信息费 C12 (发票的数据项)代收频占费 C12 (发票的数据项)农话费 C12补收费 C123.4.2查询已交费交易格式(单机):(交易类型 100010) 请求:位域 类型 备注交易包头部 C36操作代码 C4移动银行联网技术协议第 19 页 共 43 页机器号码
18、 C11银行代码 C8 开始时间 C14 YYYYMMDDHHMMSS结束时间 C14 YYYYMMDDHHMMSS 应答:位域 类型 备注交易包头部 C36返回码 C4 已交费明细记录数 C4 已交费明细 交费时间 C14 YYYYMMDDHHMMSS交欠费 C12交滞纳金 C12/* 补收月租费 C12 */ / remove this line 交预存款 C12其他费 C12 / these 3 line added on Oct 30, 2000机器费 C12信息费 C12 / end of adding 现金交款 C12支票交款 C12托收回款 C12利息交款 C12移动银行联网技术
19、协议第 20 页 共 43 页工号流水 C10工号 C6出帐年 C4出帐月 C2交费地点 C403.4.3 完全划拨帐单打印交易格式(单机):(交易类型 100011) 请求:位域 类型 备注交易包头部 C36操作代码 C4机器号码 C11银行代码 C8 开始时间 C14 YYYYMMDDHHMMSS结束时间 C14 YYYYMMDDHHMMSS 应答:位域 类型 备注交易包头部 C36返回码 C4 合同号 C15移动银行联网技术协议第 21 页 共 43 页单位 C59姓名 C12附款方式 C1运行状态 C1未出帐话费 C12 信誉度 C12预存款 C12应交费明细记录数 C4 应交费明细
20、年 C4月 C2本月欠费 C12 本次应收 (发票单)应收款 C12 本次话费 (发票单)优惠款 C12预存款划拨 C12 新交款 C12状态 C8 * 月租费 C12 特服费 C12本网费 C12 漫游费 C12长途费 C12移动银行联网技术协议第 22 页 共 43 页附加费 C12其他费 C12 代收信息费 C12 代收频占费 C12农话费 C12补收费 C123.4.4 现金缴费验证交易格式(交费确认交易格式复用请求部分):(交易类型 200010) 请求:位域 类型 备注交易包头部 C36操作代码 C4地区代码 C2市县代码 C2银行代码 C8 前两位为银行类别(例如 61 工行 6
21、2 中行 63 农行 64 建行) ,后六位为银行网点编码银行流水 C8 银行方送移动时产生的流水号机器号码 C11实缴金额 C12移动银行联网技术协议第 23 页 共 43 页记帐日期 C14 YYYYMMDDHHMMSSMAC C16 校验内容:银行代号、银行流水、机器号码、实缴金额、记帐日期MAC 为 ASCII 码 应答:位域 类型 备注交易包头部 C36返回码 C4银行代码 C8银行流水 C8 银行方送移动时产生的流水号MAC C16 校验内容:银行代号、银行流水、返回码MAC 为 ASCII 码如果验证成功,则将本次交费的发票内容以文件的形式,由移动生成后发送到银行,银行将文件内容
22、再发送到打印机进行打印。文件名规则:银行代码(8 位)+ 下划线( 1 位)+日期(YYYYMMDD(8 位) )+银行流水(8 位)3.4.5 删帐请求格式(银行向移动发请求删帐查询):(交易类型 100013)移动银行联网技术协议第 24 页 共 43 页 请求:位域 类型 备注交易包头部 C36操作代码 C4地区代码 C2市县代码 C2银行代码 C8要删帐银行流水 C8机器号码 C11记帐日期 C14 YYYYMMDDHHMMSS 应答:位域 类型 备注交易包头部 C36返回码 C4 银行代码 C8银行流水 C8 /* 三项合计长度 20 */* MAC C16 校验内容:银行代号、银行
23、流水、返回码 MAC 为 ASCII 码 */3.4.6 删帐确认交易格式(银行向移动发请求删帐):(交易类型 400010)移动银行联网技术协议第 25 页 共 43 页 请求:位域 类型 备注交易包头部 C36操作代码 C4 b002地区代码 C2市县代码 C2银行代码 C8银行流水 C8 银行方送移动时产生的流水号要删帐银行流水 C8机器号码 C11记帐日期 C14 YYYYMMDDHHMMSSMAC C16 校验内容:银行代码、银行流水、要删帐银行流水、机器号码、记帐日期MAC 为 ASCII 码3.4.7 对帐交易格式:(交易类型 600001) 请求:位域 类型 备注交易包头部 C
24、36银行类别 C2 银行类别,如农行 63移动银行联网技术协议第 26 页 共 43 页缴费交易笔数 C6 银行方数据缴费交易总额 C12 银行方数据 应答:位域 类型 备注交易包头部 C36返回码 C4银行类别 C2缴费交易笔数 C6 移动方数据缴费交易总额 C12 移动方数据3.4.8 签到交易格式:(交易类型 900001) 请求:位域 类型 备注交易包头部 C36银行类别 C2双方认证码 C16 签到时作双方相互认证 应答:位域 类型 备注交易包头部 C36返回码 C4双方认证码 C16 签到时作双方相互认证MAC 密钥 C16 MAC 为 ASCII 码移动银行联网技术协议第 27
25、页 共 43 页3.4.9 签退交易格式:(交易类型 900002) 请求:位域 类型 备注交易包头部 C36银行类别 C2双方认证码 C16 签退时作双方相互认证 应答:位域 类型 备注交易包头部 C36返回码 C4双方认证码 C16 签退时作双方相互认证3.4.10 帐单打印交易格式(单机):(交易类型 100014) 请求:位域 类型 备注交易包头部 C36操作代码 C4 b005 帐单查询打印机器号码 C11银行代码 C8 查询类型 C2开始时间 C14 YYYYMMDDHHMMSS结束时间 C14 YYYYMMDDHHMMSS移动银行联网技术协议第 28 页 共 43 页 应答:位域
26、 类型 备注交易包头部 C36返回码 C4查询类型:01 通讯费帐单02 信息费帐单03 商务费帐单文件名规则:通讯费帐单:ZD_01_移动号码(11 位) 信息费帐单:ZD_02_移动号码(11 位) 商务费帐单:ZD_03_移动号码(11 位) 注意:1、如没有帐单,则返回(交费)记录不存在:100635 附录:3.5.1位域的属性类型位域属性 说明C =字符型,后补空格YYYYMMDD =日期型,长度为 8HHMMSS =时间型,长度为 6银行流水如不够 8 位前补 0;月,日不够 2 位的前补 0移动银行联网技术协议第 29 页 共 43 页金额*100,去小数点传输3.5.2银行为移
27、动方代出缴费明细附件内容发票以移动局提供的发票样张为准3.5.3对明细帐文件格式银行方向移动方传明细帐文件,其格式为:各域以“|“为分隔符,以“n“为一笔交易结束符,具体的域的约定如下表所示:文件名:YD_XX_YYYYMMDDHHMMSS (XX 银行类别, YYYYMMDD 日期)格式如下序号 内容 含义 说明MAC C16 操作代码 C4地区代码 C2市县代码 C2银行代码 C8银行流水 C8机器号码 C11记帐日期 C14 YYYYMMDDHHMMSS交易内容 交费 移动银行联网技术协议第 30 页 共 43 页实缴金额 C12退款 要删帐银行流水 C8 注:里可变字段,不同操作代码交易内容不同。MAC 为 ASCII 码所有字段用|进行分隔。银行代码、银行流水按 ASCII 码升序排序4.运行设计4.1 运行模块的组合和控制各交易模块采用“交易驱动”模式,即各交易模块仅处理一种交易,且均为交易总控模块所调用,交易总控模块根据该交易类型的相应交易码,判断调用哪个交易模块,控制整个交易过程,若交易过程中出现异常情况,调用异常处理模块,进行处理。