1、中信银行代付系统案例说明 中信银行代付系统案例 内部文件中信银行代付系统案例说明南京绛门通讯科技股份有限公司2017年02月目录一、前言31.1 系统项目背景31.2 系统设计原则3二、代付平台功能概述42.1 功能概述42.2 平台代付转账流程图42.3 系统性能数据7三、研发团队介绍93.1 研发过程概述93.2 项目开发明细表9一、前言1.1 系统项目背景随着互联网金融的快速发展,在线转账或代付业务逐步覆盖,各大银行或第三方的代付平台(例:支付宝)都开始涉足在线代付业务,中信银行代付系统平台(以下简称“中信代付”)就是我公司专为中信银行设计开发的一套开放的代付业务平台。1.2 系统设计原
2、则 本系统设计时,考虑到金融行业的特殊性,系统设计时不仅考虑到系统的技术可行性,更多需考虑安全性和经济可行性。作为一个开放的代付平台,系统要具备可扩展性,便于第三方进入平台接入。另外系统设计是考虑需符合国家和行业通用标准、协议和规范要求,保证系统运行稳定可靠、数据安全。二、代付平台功能概述2.1 功能概述个人用户或是第三方平台(例:P2P理财平台),通过接口将代付的订单请求发给中信代付,系统根据订单数据计算代付金额和手续费(计算规则可自定义设置)。中信代付将需代付转账的金额预先冻结 并通过接口将代付转账请求转给银联,并将银联的处理结果实时传回给第三方的业务平台,发起代付请求的用户可以在线实时看
3、到 中信代付返回的订单状态和流程,追求钱款进度直至成功到账。中信代付还提供手工核账功能,一旦系统出现故障,营业员可以通过查看系统代付异常记录并手工进行处理,在通过日志查看故障原因。 中信银行代付系统平台不仅为中信银行解决了在线批次代付转账的功能,也提供了多角度多纬度的数据分析功能,解决银行需要的账单报表等需求。另外系统有完整的告警机制,当账号异常或者额度超限都能在告警记录中查看并解决。2.2 平台代付转账流程图因银行系统的特殊安全要求,在代付过程中需多重验证和判断,流程图如下:转账的业务流程图(如下):订单处理流程图:2.3 系统性能数据 根据多轮测试取平均值以及客户实际上线运行数据,目前中信
4、代付平台性能可达到:同时在线代付并发数20个,同时代付请求订单数20万笔测试场景和数据如下: 单位均是(ms)场景:5个商户,每个商户下面有1000个订单、5000个订单、10000个订单、20000个订单订单数#SamplesAverageMedian90% LineMinMaxError%TroughputKB/sec100051601641691411840.00%5.2/sec1.950005186420522093121223800.00%1.7/sec7100005591260166032550461790.00%45.3/min32000051076210802110131020
5、2111610.00%25.2/min2结论: 5个线程处理1000个订单平均耗时184ms,吞吐量为5.2/s 5个线程处理5000个订单平均耗时2380ms,吞吐量为1.7/s 5个线程处理10000个订单平均耗时6179ms,吞吐量为45.3/min 5个线程处理20000个订单平均耗时11161ms,吞吐量为25.2/min场景:10个商户,每个商户下面有1000个订单、5000个订单、10000个订单、20000个订单订单数#SamplesAverageMedian90% LineMinMaxError%TroughputKB/sec1000102702523561144200.00
6、%8.3/sec3.1500010404043624667226248670.00%1.9/sec710000101012910066104409659105190.00%55.2/min3200001020819208112103620409212130.00%27.4/min2结论: 10个线程处理1000个订单平均耗时270ms,吞吐量为8.3/s 10个线程处理5000个订单平均耗时4040ms,吞吐量为1.9/s 10个线程处理10000个订单平均耗时10129ms,吞吐量为55.2/min 10个线程处理20000个订单平均耗时20819ms,吞吐量为27.4/min场景:20个商
7、户,每个商户下面有1000个订单、5000个订单、10000个订单、20000个订单订单数#SamplesAverageMedian90% LineMinMaxError%TroughputKB/sec10002011721215157028616360.00%9.3/sec3.55000209466957998927853100110.00%1.9/sec7100002021364217492226615589223540.00%52.9/min3200002044631451574557540298456870.00%25.8/min2结论:20个线程处理1000个订单平均耗时1172ms
8、,吞吐量为9.3/s 20个线程处理5000个订单平均耗时9466ms,吞吐量为1.9/s 20个线程处理10000个订单平均耗时21364ms,吞吐量为52.9/min 20个线程处理20000个订单平均耗时44631ms,吞吐量为25.8/min三、研发团队介绍3.1 研发过程概述 研发团队从项目立项启动到上线交付验收,历时4个月。其中因银联方网络原因,银联接口调试 耗时半个多月;配合第三方接口调试耗时近半个月(截止上线有3家网络金融平台接入中信代付系统平台)团队参与情况如下:项目组共计参与人员 9人项目经理: 1 人 (项目管例,进度把控)SE: 1 人 (与客户方对接,确定需求,业务流
9、程和系统界面)开发: 4 人 (负责系统开发和接口调试)测试: 3 人(整体平台的功能测试、性能测试 和接口测试。 编写用户手册和运维文档)3.2 项目开发明细表No.级别人数人均投入周期合计职责1项目经理12020 项目资源规划、需求澄清、项目进度管理、设计文档2开发447188 技术架构、解决技术问题、核心代码开发、设计3测试32472 压力测试、环境优化、测试报告4SE12424 5UCD/UI188 6文档编写133 用户手册,运维文档,其他文档等(测试人员负责)7合计315项目工作量详情如下:序号功能点开发(人天)备注1登录1.5 https2管理员账号配置(即告警的通知对象)3.0
10、 3权限配置8.0 对公账号和操作员的对应关系,存在多对多的情况4获取机构、支行关系3.0 已有数据库表,直接读取表5价格配置(银联分账、阶梯式手续费)6.5 每一个收款人为一笔,按笔收费。一个对公账号累计转账笔数,阶梯式收费,支持灵活配置6企业设定金额上限6.5 不同企业设定 单笔金额上限、单日金额上限,并且需通过每笔订单判断是否符合上限设定规则7费率类型调整和费率生效时间7.0 除了累计笔数外 增加手续费率 按照累计笔均和累计金额,且费率之间可切换调整8中间账户、收入账户、银联账户的配置9.0 9系统日志4.5 登录登出记录、人工操作记录、接口调用结果(转账、冻结)10异常告警,短信通知负
11、责人6.0 交易失败、银联接口失败、转账接口失败、冻结金额失败等11支持人工操作:重试7.0 所有流程步骤有详细界面,出现异常时,界面展示支持管理员手工操作 “重试”12分卡结算功能:贷记卡的需扣去额外手续费12.5 贷记卡的需扣去额外手续费,并且要设定自动定时 扣除功能(从银联FTP读取压缩获取贷记卡数据)13业务流程1:通过银联接口获取转账申请内容10.0 转账申请界面化展示详情,显示汇总数额14业务流程2:系统分析,查询对公账户余额是否充足13.5 转账总额+手续费 所有费用计算问题,此时完成。后续仅仅使用累计15业务流程3:通过转账接口将资金转入中间账户14.0 转账总额+手续费特殊情
12、况:实际手续费低于银联分账数额时候,从中信银行的收入账户中补足手续费至中间账户16业务流程4:接口通知银联开始转账9.0 1、转账成功的部分,将成功的金额转账至银联账户2、转账失败的部分,将失败的金额返回对公账户3、转账成功产生的手续费,按照银联分账的规则,分别存入银联账户和中信银行的收入账户4、转账失败多余的手续费,返回对公账户或收入账户17业务流程5:通过银联接口获取转账结果9.0 18业务流程6:根据转账结果分配资金9.0 19业务流程7:已经转账至银联账户的金额,调用接口冻结至第二天零时零分4.0 20系统异常码生成8.0 账户代付请求 情况系统返回各类异常码21统计分析:图、表8.0 以时间、支行层次、对公账户为过滤条件22所有明细列表支持Excel导出5.0 23框架设计、表字段设计14.0 24兼容适配10.0 IE8、IE9、谷歌25测试用例、测试方案6.0 26系统功能测试30.0 测试用例27性能测试、接口测试36.0 28需求澄清(需求讲解、澄清、会议)24.0 29UI设计8.0 原型设计、评审30项目管理20.0 31文档编写3.0 测试报告、验收申请32维护期0.0 本期不涉及合计人天315.0 14