收藏 分销(赏)

支付系统架构整体设计详解.ppt

上传人:天**** 文档编号:10275840 上传时间:2025-05-12 格式:PPT 页数:24 大小:7.45MB
下载 相关 举报
支付系统架构整体设计详解.ppt_第1页
第1页 / 共24页
支付系统架构整体设计详解.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,支付系统架构整体设计详解,.,CONTENTS,PART,01,PART,02,产品分类,模块功能,PART,03,PART,04,业务流程,参考架构,.,01,产 品 分 类,.,产,品,分,类,在不同的公司由于接入渠道和应用的差异,对支付产品分类略有不同。综合支付场景和流程,支付产品可以分为如下几类:,.,支付产品是由支付系统对支付渠道进行封装而对业务方提供的支付能力。整体上来说,可以提供如下支付产品:,A,B,C,1.,快捷支付;用户在完成绑卡之后,在支付的时候,不需要再输入卡或者身份信息,仅需要输入支付密码就可以完成支付。对于小额度的支付,甚至可以开通小额免密,直接完成支付。,这种支付方式不会打断用户的体验,是目前主要的在线支付方式。一般快捷支付产品是通过封装银行或者第三方支付平台提供的快捷支付接口或者代付接口来实现的。,2.网银支付;用户在支付的时候,需要跳转到银行网银页面来完成支付。在网银页面,需要输入用户的卡号和身份信息。,这种支付方式会中断用户当前的体验,一般仅用于PC Web上的支付。网银支付是封装银行提供的网银支付来实现。,3.协议支付;协议支付也称代收或者代扣,代收指渠道授权商户可以从用户的银行账户中扣款,一般用于定期扣款,不用于日常消费。比如水电煤气、有线电视费。协议支付是通过封装银行、第三方支付提供的代扣或者快捷接口来实现。,.,D,E,F,4.平台支付;使用微信、支付宝等第三方支付平台来完成支付。使用时,一般需要用户预先安装支付平台系统(手机上),注册并登录到第三方支付平台,并且已经在该平台上完成绑卡等操作。,由于微信、支付宝已经被大量使用,用户也产生对这些平台的信任,平台支付往往是电商公司的主要支付方式。,5.外卡支付;对于由海外支付的需求,还需要提供外卡支付支持。国内不少支付渠道都能支持外卡支付,如支付宝全球购等。,直接对接Paypal,也是目前用的最多的外卡支付渠道。,6.话费支付;对于有包月小额类型的支付,手机话费也是一个不错的选择。目前也有一些平台可以支持话费支付,比如虹软、联动优势等。,.,G,H,I,7.,虚币支付,;,不少公司会有自己的虚拟币,比如京豆、Q币等。这些虚币也可以作为一种支付方式。,8,.账户支付,;,也称为余额支付、零钱支付等。,指为用户建立本地账户,支持充值,之后可以使用这个账户来完成支付。,9.信用支付;,如京东的白条,蚂蚁花呗等,,指使用信用账户进行透支,类似信用卡支付。,.,02,模 块 功 能,.,模,块,功,能,支付产品根据其支付能力,对外提供不同的功能。整体上来说,一般支付产品需要提供如下接口:,.,支付产品根据其支付能力,对外提供不同的功能。整体上来说,一般支付产品需要提供如下接口:,A,B,C,1.签约和解约;在快捷支付、代扣等产品中,用户在使用前,需要先完成签约。签约可以在渠道侧进行,一般第三方支付采用这种方式,当电商需要接入时,让第三方给授权。银行和银联的签约一般是在电商侧进行,电商侧负责收集用户的信息,调用银行和银联的接口进行签约。签约后,后续的支付行为就使用签约号来进行,无需再输入个人信息。和签约相对应,解约则是取消签约关系。,2.支付;支付是少不了的操作。不同产品中支付行为不一样。快捷支付是在电商服务器上发起,请求渠道进行支付;网银支付则是跳转到银行支付网关上进行;而账户支付、虚币支付,则是在本地进行的。,3.撤销和退款;有些渠道区分撤销和退款,比如银联、农行等,撤销指取消当天在渠道侧未结算的交易;而退款仅针对已经结算的交易。有些渠道则不作区分。,.,D,E,F,4.查询签约状态;对于需要签约的交易,可以通过这个接口来查询签约状态。,5.查询订单状态;通过这个接口来查询支付清单状态以及退款的订单状态。,6.预授权;预授权交易用于受理方向持卡人的发卡方确认交易许可。受理方将预估的消费金额作为预授权金额,发送给持卡人的发卡方。,.,G,H,I,7.预授权撤销;对已成功的预授权交易,在结算前使用预授权撤销交易,通知发卡方取消付款承诺。预授权撤销交易必须是对原始预授权交易或追加预授权交易最终承兑金额的全额撤销。,8.预授权完成交易;对已批准的预授权交易,用预授权完成做支付结算。,9.预授权完成撤销;预授权完成撤销交易必须是对原始预授权完成交易的全额撤销。预授权完成撤销后的预授权仍然有效。,.,J,K,10.对账;通过FTP或者HTTP方式提供对账文件供商户侧对账。,11.余额查询;,查询商户的交易账户的余额,避免由于余额不足导致交易失败。注意,不是客户的余额。当然,不是所有的银行或者第三方支付都提供这个接口。,.,03,业 务 流 程,.,上述操作,除了对账、查单外,每个操作实现的主流程,一般会包括参数校验,支付路由,生成订单,风险评估,调用渠道服务,更新订单和发送消息这7步,对于一些比较复杂的服务,还会涉及到异步同通知处理的步骤。,支付路由系统就是在支付结算环节系统智能选择最优的路线做正确的事情。,例:我们在用支付宝、微信线下消费扫码付款时,如果余额充足的话,系统会优先选择余额,余额不足会优先选择用户设置的第一消费银行卡。,.,A,B,C,1.执行参数校验;所有的支付操作,都需要对输入执行参数校验,避免接口受到攻击。,验证输入参数中各字段的有效性验证,比如用户ID,商户ID,价格,返回地址等参数。,验证账户状态。交易主体、交易对手等账户的状态是处于可交易的状态。,验证订单:如果涉及到预单,还需要验证订单号的有效性,订单状态是未支付。为了避免用户缓存某个URL地址,还需要校验下单时间和支付时间是否超过预定的间隔。,验证签名。签名也是为了防止支付接口被伪造。一般签名是使用分发给商户的key来对输入参数拼接成的字符串做MD5 Hash或者RSA加密,然后作为一个参数随其他参数一起提交到服务器端。如支付网关设计所介绍,签名验证也可以在网关中统一完成。,2.根据支付路由寻找合适的支付服务;根据用户选择的支付方式确定用来完成该操作的合适的支付渠道。用户指定的支付方式不一定是最终的执行支付的渠道。比如用户选择通过工行信用卡来执行支付,但是我们没有实现和工行的对接,而是可以通过第三方支付,比如支付宝、微信支付、易宝支付,或者银联来完成。那如何选择合适的支付渠道,就通过支付路由来实现。支付路由会综合考虑收费、渠道的可用性等因素来选择最优方案。,3.评估交易风险;检查本次交易是否有风险。风控接口返回三种结果:阻断交易、增强验证和放行交易。1)阻断交易,说明该交易是高风险的,需要终止,不执行第5个步骤;2)增强验证,说明该交易有一定的风险,需要确认下是不是用户本人在操作。这可以通过发送短信验证码或者其他可以验证用户身份的方式来做校验,验证通过后,可以继续执行该交易。3)放行交易,即本次交易是安全的,可以继续往下走。,.,D,E,F,4.查询签约状态;对于需要签约的交易,可以通过这个接口来查询签约状态。,5.查询订单状态;通过这个接口来查询支付清单状态以及退款的订单状态。,6.预授权;预授权交易用于受理方向持卡人的发卡方确认交易许可。受理方将预估的消费金额作为预授权金额,发送给持卡人的发卡方。,.,D,E,F,4.生成交易订单;将订单信息持久化到数据库中。当访问压力大的时候,数据库写入会成为一个瓶颈。,5.调用支付渠道提供的服务;所有的支付服务都需要第三方通道来完成执行。一般银行渠道的调用比较简单,可以直接返回结果。一些第三方支付,支付宝,微信支付等,会通过异步接口来告知支付结果。,6.更新订单;对于同步返回的结果,需要在主线程中更新订单的状态,标记是支付成功还是失败。对于异步返回的渠道,需要在异步程序中处理。,.,G,H,7.发送消息;通过消息来通知相关系统关于订单的变更。风控,信用BI等,都需要依赖这数据做准实时计算。,8.异步通知;如上述流程,其中涉及到调用远程接口,其延迟不可控。如果调用方一直阻塞等待,很容易超时。引入异步通知机制,可以让调用方在主线程中尽快返回,通过异步线程来得到支付结果。对于通过异步来获取支付结果的渠道接口,也需要对应的在异步通知中将结果返回给调用方。异步通知需要调用方提供一个回调地址,一般以http或者https的方式。这就有技术风险,如果调用失败,还需要重试。而重试不能过于频繁,需要逐步拉大每一次重试的时间间隔。在异步处理程序中,订单根据处理结果变更状态后,也要发消息通知相关系统。,.,04,参 考 架 构,.,一般来说,支付系统典型架构会包含如下模块:,支付系统从架构上来说,分为三层;,支撑层:用来支持核心系统的基础软件包和基础设施,包括运维监控系统、日志分析系统等。,核心层:支付系统的核心模块,内部又分为两个部分:支付核心模块以及支付服务模块。,产品层:通过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统。,.,THANKS,.,.,.,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服