XX第三方支付平台总体设计说明书.docx
《XX第三方支付平台总体设计说明书.docx》由会员分享,可在线阅读,更多相关《XX第三方支付平台总体设计说明书.docx(28页珍藏版)》请在冰豆网上搜索。
XX第三方支付平台总体设计说明书
1引言
1.1编写目的
在完成需求分析的基础上本文档对XX第三方支付平台系统进行了总体框架分析和设计,包括总体设计、运行设计、接口设计、数据结构设计、功能模块设计等内容,为后续详细设计、开发编码实施提供指导和依据。
预期读者:
项目设计人员、开发人员、技术人员、项目上级领导、技术同行及其他授权用户。
1.2背景
项目名称
XX第三方支付平台软件开发项目
项目简称
XX支付平台
英文缩写
Jyb_pay
项目编号
版本号
<版本号>
任务提出者
南昌XX支付有限公司
开发者
南昌XX支付有限公司
用户
<用户>
同其它系统的关系
1.3定义
列出本文中用到的术语及其定义。
1.4法律法规和参考资料
列出引用的法律法规和参考资料,如:
法律法规、项目合同、需求规格说明书、软件开发标准等。
2总体设计
2.1总体设计原则
●稳定性和可靠性
系统的稳定性是指发生局部硬件故障和软件故障时有相应的旁路技术和容错技术,任意单点故障都不影响整个系统的运行。
在系统投入运行后,将全力确保系统稳定可靠地长期运行。
利用负载均衡、备份、冗余等技术手段和措施,排除各种可能因素的干扰和影响,保证系统按设计要求发挥正常作用。
●实用性和易用性
硬件系统应选择具有先进性、成熟性、稳定性,并拥有优良性能价格比的设备;软件系统的选择与开发应在满足业务需求的基础上具有易改造、易升级、易操作、易维护等性能。
本系统开发完成后能准确实现复杂业务处理,且保证满足实际应用的需要,具有维护方便、管理简单、使用灵活的特点。
能够方便快捷地共享、交流信息,高效地协同工作。
●可扩展性
1、系统的设计不仅要满足目前业务开展的需求,也应支持未来业务发展的需要。
在业务种类的扩展方面,系统应提供业务流程重组与装配,在业务处理能力方面支持不改变软件体系结构扩展系统的处理能力。
2、采用模块化的技术架构,平台系统功能模块能够按照用户的需求进行增删、修改,同时具备方便、灵活的页面内容和数据的再组织机制。
预留接口,方便系统扩展,可进行高自由度、高个性化的升级和扩充。
各系统功能模块采用组件化结构设计,能够向其他系统迁移、复用和共享。
3、系统开发用基于J2EE技术的架构,采用JAVA(包括JSP、VELOCITY、SPRING,IBATIS等相关WEB开发技术)和JSON相结合的技术进行系统的改造开发,支持多种流行服务器软硬件平台。
充分考虑今后纵向和横向的功能扩展及应用系统集成。
●先进性和开放性
系统总体设计及组件设计中应兼顾到企业内外其他系统的衔接,采用业界开放性的标准,为未来的业务发展奠定基础。
本系统开发充分考虑到将来的技术发展需要,选择较先进、开放、成熟的技术与产品,采用国际或国内标准,建设改造具有一定先进性的系统。
●可管理性原则
可管理性包括正常情况下的可管理性和系统发生改变时的可管理性。
系统的高可管理性要求具备对主机、网络、数据库、应用等资源进行监控、管理和调度。
●安全性
系统具有加密、解密、用户身份认证、权限管理控制、日志记录、安全审计等安全控制功能,系统应提供安全手段防止任意对象对系统的非法侵入、攻击,避免操作人员的越级操作。
在数据传输上具备可靠性、保密性和完整性,业务处理上必须有各种安全措施加以保证。
●灵活性原则
采用将用户接口与通讯协议层从程序代码相互分离的设计框架,使得所有关键的组件能够实现完全的“即插即用”,从而使系统获得充分的灵活性。
实现无需对程序代码进行改动就能够完成对用户接口的各种修改,避免广泛的系统重新测试工作以及系统崩溃的风险。
●对原有资源的保护性
1、系统设计应充分考虑对已有投资的保护。
2、能够满足和适用现在软硬件资源和系统拓扑结构。
2.2系统设计特点
●超前的账户体系
系统建立一套“会员—卡—账户”三层结构的统一账户体系。
账户体系同时还支持多子账户体系,保证客户业务运营的可扩展性。
●动态的资金渠道
系统的动态路由功能利用商户、产品、通道、银行等4方因素,进行多元化配置,以实现给用户一条手续费率最低、最有效的支付路径算法。
●强大的结算功能
系统提供完整的银行对账,商户对帐,多级清算,多种分润模式等完整的结算功能。
●完善的风险控制
系统提供黑名单监控、反洗钱监控、可疑交易监控等交易过程的“事前、事中、事后”风险的全面管理。
●成熟的安全体系
系统支持安全控件、U盾、数字证书等外部硬件集成的保护机制;同时拥有双重密码校验、手机动态口令、防钓鱼等业务防范措施;并且技术框架提供防SQL注入、跨站点攻击、防页面代码暴露等技术机制。
●卓越的系统性能
系统对性能和并发性做了特别的优化处理,目前可支持日交易量上亿的操作,并保证资金处理的准确性和实时响应性。
2.3需求概述
XX支付平台的业务功能主要分为支付前台、支付后台、支付网关三大模块,包括会员管理、交易管理、账户管理、风险控制管理、报表管理、系统管理、接口系统等。
XX公司建设的这个支付系统项目要达到如下目标:
1、依托XX电子商务平台,为其电子交易提供第三方支付服务;
2、建立独立的第三方支付平台,为其他电子商务网站等提供第三方支付服务;
3、依据金融行业相关信息安全标准规范,完成XX支付平台配套机房、主机、网络及安全基础平台建设,满足人民银行支付行业信息安全规范要求。
4、根据XX支付平台高可靠性要求,建设系统配套同城异地备份基础环境,使其具备数据级远程备份能力,确保系统稳定可靠的运行。
2.4系统分析
2.5支付业务主要处理流程
XX支付平台的支付业务处理和资金流转过程主要包括充值、提现、转账、交易支付、退款、结算等,详见如下说明。
2.5.1账户充值流程
流程说明如下:
●用户登录XX支付平台进行充值,充值时输入充值金额,将金额从默认绑定的银行卡划到XX账户。
2.5.2账户提现流程
流程说明如下:
●用户登录XX支付平台进行提现,是将资金从XX账户转出到默认绑定的银行卡的过程。
●提现申请需要XX支付平台人工审核,若审核通过,则通过网银转账完成提现及XX账户余额更新,若审核不通过,用户可以再次发起提现申请。
2.5.3账户转账流程
流程说明如下:
●用户登录XX支付平台进行转账,是将金额从一个XX账户划转到另一个XX账户的过程。
●转账时XX支付平台会根据平台预设的交易规则(如每日累计限额、每笔限额、笔数限制)进行校验,若校验通过,则对XX账户之间进行金额划拨,若校验不通过,则提示转账失败。
2.5.4担保支付流程
流程说明如下:
●用户在交易系统中使用担保支付方式进行付款时,XX支付平台会将买家XX账户的相应金额暂时划到该平台中间账户,待用户确认收货后将相应金额从中间账户划入到卖家的XX账户。
●在付款时,用户可以选择直接用账户余额支付或使用银行卡支付。
2.5.5立即支付流程
流程说明如下:
●用户在交易系统中使用立即支付方式进行付款时,XX支付平台会将买家XX账户的相应金额划到卖家的XX账户。
●在付款时,用户可以选择直接用账户余额支付或使用银行卡支付。
2.5.6退款流程
流程说明如下:
●在交易系统中,买家或卖家均可发起退款申请,由该系统确定此规则。
●用户发起退款申请后,商户账户的相应金额将被冻结,需经过XX支付平台审核,若审核通过,则冻结金额被解冻,同时将根据原来的付款途径进行退款:
如果原来是信用卡支付,则将退款线下退还到原信用卡;如果原来是账户余额支付,则将退款直接划转到买家的XX账户。
若审核不通过,则冻结金额被解冻,退款失败。
2.5.7资金结算流程
流程说明如下:
●XX支付平台的资金结算流程主要划分为四个步骤:
1、对账:
是指XX支付平台与银行之间的所有资金数据核对确认,从而保证平台记录的资金数据的正确性、可靠性、一致性。
每日日终后,平台结算人员会将各个结算银行的对账文件分别导入XX支付平台,平台对导入的对账文件数据经过预处理后进行数据对账分析,若对账结果有异常,则结算人员可以查看异常信息详情并进行人工确认和处理。
平台完成对账后,商户可以下载对账文件进行查看确认。
2、清分:
是指XX平台对交易数据按商户、平台进行分类、汇总,是后续结算资金的基础。
每日对账完成后,平台结算人员对完成对账的交易数据执行清分操作,清分范围可以按单个商户也可以全部清分,按业务不同清分过程可以分为交易清分、资金清分、分润清分等进行子模块化处理。
3、结算:
是指XX平台的商户与平台之间进行资金数据结算。
结算的前提是已完成对账、数据清分。
每次结算时,结算范围可以按单个商户也可以全部结算。
结算操作可以根据每个商户的结算周期自动执行也可以人工发起结算。
商户的结算周期由平台根据与商户的约定进行设置。
4、资金划拨:
是指XX平台的商户账户与平台账户之间的结算资金划拨。
数据结算按一定周期完成后,平台结算人员根据已结算金额目前通过线下到银行进行实际资金划拨,同时在XX平台上进行划拨处理,从商户的XX账户划拨相应结算金额,并更新商户的资金划拨状态为已划拨。
平台可通过相关结算报表(如商户结算报表、商户资金明细报表)查看资金结算详情。
3系统结构
3.1总体业务结构
XX支付平台的业务架构如下图所示:
XX支付平台业务框架设计原则,在遵循“小核心、大外延”的总体设计思路下,对系统自身的设计原则为“内外隔离、双通道(外)、四内核(内)”三句话。
通过内外隔离,体现整体平台的开放性与先进性;内部业务的统一化,体现整体平台的稳定性与易用性。
整体业务框架主要理解外围系统层、业务处理层、核心层。
Ø外围系统层
外围系统层包括商户系统(XX电子商务平台)、银行系统(建设银行)。
Ø业务处理层
业务处理层可划分为:
运营平台、统一门户、前置系统、银行支付通道、第三方支撑工具系统。
运营平台是整体平台管理人员的运营操作体现,权限控制、交易管理、商户管理,提供一切运营人员所需要的业务功能操作界面。
统一门户是提供给会员、商户在XX支付平台使用各类支付功能的统一入口与功能操作界面。
它主要包括门户、会员服务系统、商户服务系统3个子系统。
前置系统是指提供给用户与外围系统功能连接的集中点,它为用户提供B2B、B2B2C交易中使用的立即支付、担保支付等支付功能,它提供用户可以直接操作的直观功能展示。
银行支付通道是XX支付平台与银行系统进行各项数据交互的系统。
它提供网银、银企直联等各项接入方式功能,同时与外部银行进行抽象化处理,提供支付、退款、查询等基本业务功能。
Ø核心系统层
4大内核系统,是指会员中心、账户中心、风控中心、结算中心。
他们提供独立内部数据管理与开放式的通讯方式。
3.2系统账户结构
XX支付平台的账户结构如下图所示:
(1)银行账户体系
银行系统中与XX支付平台相关的账户体系主要有用户结算账户和XX平台的账户两大类组成。
个人或企业会员的银行结算账户与XX平台中的会员资金账户进行绑定(只能绑定一个结算账户)后,会员在XX平台上可以进行充值、提现、转账等操作。
根据人行制定的支付机构客户备付金存管办法有关规定和要求,XX支付平台已选择建设银行为备付金存管银行,并选择多家其他银行作为备付金合作银行,在这些备付金银行中开立不同的备付金专用存款账户,主要有五种类型,分别为:
a.备付金存管账户:
XX在备付金存管银行开立的,可以以现金形式接收客户备付金、以银行转账方式办理客户备付金收取和支取业务的专用存款账户,在同一省只有一个存管账户。
b.备付金汇缴账户:
XX在备付金存管或合作银行开立的可以以现金形式接收或以本银行资金内部划转方式接收客户备付金的专用存款账户,在同一银行可能会开立多个备付金汇缴账户。
c.备付金收付账户:
XX在备付金合作银行开立的,可以以现金形式或以银行转账方式接收客户备付金、以本银行资金内部划转方式办理客户备付金支取业务的专用存款账户,同一银行只开立一个收付账户。
d.备付金风险准备金账户:
XX在备付金存管银行开立的,按备付金银行账户利息总额的一定比例,按季度计提的用于弥补客户备付金特定损失及人行规定的其他用途的资金账户。
e.XX自有资金账户:
XX在备付金存管银行开立的以现金形式为客户办理备付金赎回、结转支付业务的手续费收入账户,在存管银行可能会开立多个自有资金账户。
XX支付平台和备付金银行按照备付金管理相关规定对备付金进行合理使用和划转,保证客户资金安全和利益。
(2)XX支付平台账户体系
主要有会员账户和平台账户两大类组成。
会员账户:
这里是指会员在XX支付平台创建的用于进行支付业务的虚拟资金账户。
根据会员类型,会员资金账户可以分为个人资金账户、企业资金账户。
会员账户可以绑定一个或多个银行卡,然后可以进行充值、提现操作。
会员资金账户之间可以进行转账操作。
如果会员成为商户,则可以通过出入金操作将企业账户资金划到商户账户,商户的资金账户根据用途不同可以分为多个比如资金账户、结算账户等。
平台账户:
是指XX支付平台创建的用于记录平台保管资金或平台资金
收入的的虚拟资金账户。
平台账户逻辑上分为总账和多个内部账户。
平台内部账户主要包含如下:
中间账户:
专门用于记录担保支付时划到平台账户的资金。
手续费账户:
专门记录XX平台有关手续费收入的账户。
备付金有关账户:
XX支付平台管理所有备付金账户信息,与备付金银行中存在的各个备付金账户保持一致,类型包括备付金存管账户、备付金汇缴账户、备付金收付账户、备付金风险准备金账户、自有资金账户。
3.3用户模型图
对于第三方支付结算平台的用户来说,定义清晰的模型图,是理解整个平台对需求的业务归类体现。
用户模型图表述平台所面对客户的在哪个系统平台上进行操作。
我们针对前面业务提出的需求总体纲要,建立以下用户模型图:
整体平台用户主要分为4类,分别为:
企业会员、第三方公司、银行、平台运营人员。
其中平台运行人员直接操作账务系统,其他类型用户通过支付结算平台间接产生关系。
Ø会员指所有使用支付结算平台的企业与商户的总称。
会员使用今后建立的平台进行支付明细查询、结算账单核对、结算资金划拨情况查询等,主要是为会员方便查看系统中产生的业务费用的合计账单、允许提供程序对接接口方式。
Ø第三方公司,一般为与平台会员发生关系的公司,如企业供货商,销售渠道等,如果第三方公司有自己的系统,则可以通过支付网关接入到平台中,之后可以通过平台后台查询、核对相应的交易信息,还可以包括相关的统计报表等等。
Ø银行用户,平台与会员实际发生资金划拨的银行的人员,可以通过平台查看银行的对账信息,如果有需要还可以对平台进行业务上的监督与管理。
Ø运营人员是指维护与管理支付结算系统的后台管理人员。
它们是使用整体平台直接用户,运营平台在平台中使用各项功能,以保证支付结算系统每天的顺利运营。
它主要功能参数化维护、银行对账、结算管理、资金划拨功能等。
3.4技术逻辑层次图
根据系统建设框架图的规划指导与用户模型图的运营场景相结合,把系统从技术逻辑切分为用户层、接入层、应用层、应用基础层和核心数据层。
在结算流程上建立统一的结算体系中心,在系统运维商建立起运维保障机制,从而确保系统是安全、可靠、稳定、基于标准、灵活扩展的。
如下图所示:
●用户层
用户层列出了所有与平台相关的用户,分为企业、商户、支付结算平台的运营人员、账务系统运营的业务支撑用户和保障平台运行的技术支持用户。
●接入层
接入层包含了系统扩展接口,主要实现对外数据的接入和输出。
从功能视角分为:
企业会员空间、运营平台、数据通讯平台。
从接入访问服务视角分为:
短信(SMS)接口、呼叫中心接口、银行接口、专用客户端、Web/WAP等。
●应用层
应用层提供了平台业务逻辑服务功能,以小核心服务为导向,包括了支持各类融资申请、审核等业务支付结算的企业会员/商户管理、结算签约、分润规则、银行对账、系统管理等功能应用,可以根据业务发展灵活的组合和扩展。
●应用基础层
应用基础层是提供应用和服务正常运行的基础模块和组件,包括通讯中间件、安全框架、监控中间件、应用中间件、Web中间件等。
应用数据访问服务则是平台支持的各种访问接入的协议,它们有(s)、WebService、Socket
JDBC、SSL和FTP协议
●核心数据层
为确保系统数据安全,采用数据双机灾备,中心数据库实现两节点的热备。
核心数据包括:
用户、订单、结算、账务等。
4运行设计
4.1运行模块组合
整体系统主要分为3个应用,一个核心架包组成。
门户应用主要包括模块网站首页、文章资料(公告、广告、帮助)详细查看、用户模块(登录、注册)。
同时还包括用户登录以后的功能操作,如提现、充值等相关操作。
门户应用对应代码名称为portal.
支付网关应用主要包括支付功能,接入前置相关功能、与各银行接口调用等,交易核心在应用中。
支付网关应用的代码名称为Ipad.
平台应用包括基础支付运维平台所需要的功能包括点后台用户权限、结算功能、会员信息管理。
平台应用的代码名称为boss。
4.2运行控制
支付平台的会员:
在会员前台应用操作一切账户相关的操作。
外接系统的支付:
与第三方合作伙伴系统对接。
支付平台的会员先在第三方系统操作,在支付时候跳转到支付网关中操作,支付成功后,回到第三方系统中去。
支付平台的管理员:
管理员对整个运行平台信息数据管理。
5错误处理
1)代码级别出错、必须记录所有异常信息记录。
异常出错日志一般保留5天左右记录。
2)所有涉及到账户、资金出错功能,统一回滚事务操作日志。
3)系统应用部署采取负载均衡,当应用程序出错时,能自动切换到其它机器上面。
4)所有的外部接口,都必须有连接信息信息数据保证。
6接口设计
6.1用户界面
说明系统向用户提供的操作介面、菜单结构;说明将向用户提供的命令和它们的语法结构,以及软件回答信息。
6.2外部接口
6.2.1银行接口
6.2.1.1B2B银行接口
●前提:
支付中心需要使用银行B2B业务,则必须与指定的银行签署B2B商户开户协议(要接多家银行,则需要分别与各家银行签署接口协议)。
●协议签署完毕后,银行需要提供给支付中心商户号、商户电子证书(CA证书)等接口必须的资料,此时软件开发方才可以开始做接口对接工作,一般情况下,开发周期在15-30工作日内,可以完成接口的开发、调试及上线工作。
●B2B银行接口,是以Internet网络连接的方式进行数据通信,支付中心无需与银行专门设置专线。
●当客户需要通过银行B2B接口在线充值或者货款支付时,首先,交易商需要登录交易系统,然后进入账户充值界面进行B2B款项划付。
●交易系统会将交易商需要划款的数据,提交到银行的系统。
●银行系统对划款数据进行校验,通过后,银行系统需要交易商出示USB电子证书(电子证书由银行在交易商银行账户开户时,颁发给交易商)。
●交易商出示正确的电子证书及相应的密码后,登录到银行网银系统中,并对划款数据进行录入操作,录了完成后,交易商需要通过另外一个财务人员对划款数据进行审核。
●当划款记录审核完成后,款项就从交易商的银行账户划付到支付中心在该银行开始的结算账户中,此时,银行会通过其服务器反馈消息给交易系统,通知交易系统,相关的款项已经到账。
●交易系统收到银行反馈的通知后,自动对交易商在交易系统中的二级账户做资金充值操作。
6.2.1.2银企直连
●系统可以与多家银行建立银企直连接口,以提供给支付平台快捷方便的自动资金管理功能。
●XX已首选建设银行作为第一家银企直连的银行,同时也与其他多家银行合作为XX支付平台提供银行系统服务。
6.3内部接口
7约束条件
说明系统的各种情况下的约束条件。
8系统数据结构设计
8.1设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷的标识、定义、长度及它们之间的层次的或表格的相互关系。
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
9功能模块设计
9.1支付前台
9.1.1用户注册
XX支付平台为用户提供个人注册和企业注册两种类型。
9.1.2用户登陆、退出、找回登陆密码
为注册用户提供登陆、退出、找回登陆密码功能。
9.1.3充值
通过实名认证的个人或企业用户通过网上银行将资金转入XX支付平台虚拟账户的过程。
9.1.4提现
通过实名认证的个人或企业用户将资金从XX支付平台账户转出到网上银行的过程。
提现申请前,用户需先绑定银行卡。
9.1.5转账付款
通过实名认证的个人或企业用户可以进行转账付款。
每日转账额度系统可设置。
9.1.6交易管理
为注册用户提供有关功能:
交易管理查询(若交易状态为等待付款,会员可进行付款操作)、资金明细查询、提现记录查询、充值记录查询等。
9.1.7用户安全中心
提供以下功能:
●设置手机绑定
●修改登陆密码
●找回支付密码
●安装密码控件
●设置邮箱绑定
●密码保护问题设置
●预留信息修改等
9.1.8商户管理
为商户提供结算报表,可按结算日期查询。
为商户提供银行对账文件下载,可按对账日期查询。
9.2支付后台
9.2.1会员管理
提供会员管理功能,包括会员查询、停用/启用、绑定银行信息、重置登录密码、重置支付密码、实名认证审核等。
9.2.2风险评估管理
提供风险管理功能,包括黑白名单管理、风控规则设置(大额交易、金额或笔数异常交易的指标)、限额配置、费率配置、风控订单查询、风控报表查询等。
9.2.3联行号管理
提供银行联行号信息录入、修改、查询等功能。
9.2.4交易管理
提供交易管理功能,包括商户订单明细查询、订单支付流水查询、退款审核等。
9.2.5清分结算管理
提供交易数据清分、商户结算、结算资金划拨等功能。
9.2.6提现管理
提供提现流水查询、提现明细文件下载等功能。
9.2.7账户管理
提供账户管理功能,包括添加平台内部账户、账户查询、账户初始化、账户冲正、账户补账、账户明细查询、中间账户查询等。
9.2.8银行对账管理
提供银行对账文件导入、对账、异常处理等功能。
9.2.9报表管理
提供如下报表:
现金收入-支付汇总表、商户分润查询报表、成交金额/笔数报表、商户结算表、提现手续费收入明细表、转账手续费收入明细表、平台财务报表、实时余额报表、商户交易清分明细报表、商户资金结算明细表等。
9.2.10系统管理
提供系统管理功能,比如网站广告管理、网站公告管理、帮助信息管理、操作日志查询、日切管理等。
9.2.11客户备付金管理
XX支付平台提供客户备付金银行信息及备付金账户查询和管理功能,由专人负责管理,在支付平台维护的信息与在开户的备付金存管银行和合作银行的备付金账户信息保持一致。
后台提供客户备付金银行管理功能,包括新增、修改、删除、查看等。
提供客户备付金账户管理功能,包括备付金不同类型的账户添加、修改、删除、备付金账户余额同步、备付金账户流水管理、备付金报表等。
9.3支付网关
9.3.1担保交易
担保交易是在交易完成前(已付款状态)先把资金从买家账户划到XX支付平台的中间账户上,交易完成后,再把资金从中间账户划到卖家账户的过程。
9.3.2即时交易
即时交易是交易完