支付系统设计白皮书:支付核心的7个要点
原标题:支付系统设计白皮书:支付核心的 7 个要点
本文跟大家探讨一下支付核心的七个要点,一起来看看~
一、支付前置
着业务定制化对交易支付需求复杂度的增加,交易系统保证系统稳定的同时,亦需灵活性以支持业务。但系统设计时,灵活和稳定是矛盾的,稳定意味着剥离变化,灵活意味着可配置化。
支付前置的职责即:解决支持业务变化的扩展性,将交易通过支付前置的配置转化为后端支付系统能统一处理的模式,方便后端多样化的记账需求。
支付前置的定义
- 支付前置包装后端支付核心系统的接口,包装后对外提供的服务包括余额、 现金、网银、快捷支付、出款及相关订单的退款和控制接口;另提供后台系统调用的服务包括确定性入款、登账、冻结解冻、退票等,所有的支付行为都会以业务支付订单的形式落地;
- 用户在前端发起一次支付行为后,交易系统基于原始的交易订单,对应生成一条付款订单,通过这笔付款订单和支付核心进行交互。
业务产品码:
交易系统各类交易接口包装成业务产品(提现、充值等)后,将对应的支付请求发送到支付前置系统,前置系统根据业务产品编码和本身的支付业务配置关系,生成对应的业务支付订单并处理后续流程。
支付产品码:
由于即时到账、担保交易在业务规则上不同,但支付渠道侧判断均为支付,因此支付产品码相同,但业务产品码不同。这里的支付产品编码配置来自于支付协议的配置,一个支付产品编码代表着一个支付协议。
二、支付协议
支付协议即对支付模式、支付服务的封装。
以收单支付为例,某个业务方在支付系统开设支付权限后,可理解为与支付系统本身签署了收单支付协议,即可通过交易系统对外输出担保交易产品、即时到账产品来使用收单支付的能力。
此时交易侧定义的两个业务产品码,与支付侧的收单支付产品编码为多对一关系,交易系统调用前置系统时,根据交易产品代码和支付协议的配置,对应生成一条收单支付的请求,前置系统根据该请求转化为对应的付款订单(支付协议的明细项,比如通过网银、现金、快捷等方式发起支付),然后根据对应支付模式、业务支付类型生成业务支付订单,且将业务支付订单转化为支付指令去执行下游系统的流程。
提现协议:
- 以秋秋老师的提现协议为例,提现的明细项关联着业务方所传递的外部订单号,代表着这次业务支付行为的原始订单请求,对应着收付款人的信息;
- 调用支付服务层的时,会有客户权限校验等判断,通过的情况下此时去调用支付协议的配置信息落地一笔支付订单,并基于该订单生成对应的一笔或者多笔支付指令,接下来由指令去执行调用下游系统的具体方式,若是调用清算通道则生成清算类的操作指令(调用通道,调用时间,通道需要的信息等),可称为外部指令,若是要操作账户金额则生成账务类的操作指令(具体账户、金额、借记还是贷记),可称为内部指令。
定义支付的原子级支付形态,所有的支付行为都是账户资金的流转,可梳理出以下几个支付类型:
- 充值:资金从外部资金源向内部资金源转移的支付动作;
- 提现:资金从内部向外部资金源转移的支付动作;
- 内转支付(转账):资金在内部账户转移的支付动作,这里的定义和产品中定义的转账概念不同;
- 退款:充值的反向操作。
指令即支付核心的工单号,前置的每笔支付订单对应着一笔甚至多笔指令。指令里包含了这笔支付订单是原始支付类型(充值、提现、转账、退款,指令一定是基于原始支付类型来生成的,任何支付行为都能被原子类型所支持),对应着的业务请求类型、支付方式、支付产品编码、参与方信息(交易中收付款人的信息)、相关联的支付指令信息(退款时用于关联原支付指令)、支付服务流程等相关信息;由支付指令去调用支付服务流程时,再根据流程编排环节去确定何时生成账务类操作指令和清算类操作指令。
举例:用户在电商网站购买一本书价格 100 元,通过支付宝付款,交易类型为担保交易,在交易核心生成一笔担保支付的订单,调用支付核心系统时支付系统判断该业务调用方对应已经配置了「收单支付协议」,且根据对应协议生成一笔业务类型为第三方支付的支付订单,基于此订单生成了第一条充值的支付指令。
该指令在根据支付类型去调用服务流程时,先通过流程编排生成清算指令并调用(这里值得注意的是,先生成清算指令的原因在于需要先调用外部支付渠道,把钱收进来),用户付款成功后再生成账务指令并调用账务核心,执行内部账务入账。
3. 服务流程
定义支付指令的执行流程,将支付拆分成原子级支付类型,并对支付类型的流程进行编排,任何一个交易的请求,都能被上述四种基础支付类型组合进而完成支付行为。
例如:一笔担保收单的交易,用户用支付宝等第三方支付完成了这笔交易,并在 7 天后确认收货,平台侧 7 天后根据用户的行为应该将该笔货款打给了商户。
这里我们将用户的行为分为支付和确认收货两个动作,对应着在交易侧这也是两次请求,一次支付,一次结算:
- 在支付层对应收单支付协议;
- 在前置系统被拆分成了两笔业务支付订单,一笔是快捷支付(业务类型,类型自定义,可以叫第三方支付),一笔是余额转账(将资金从担保账户结算到商家账户);
而后分别生成两条支付指令(充值和转账),充值代表着用户的支行为,转账代表着用户的确认收货行为,因为从但保护结算到商家账户,可以定义为这是一笔账户之间的资金扭转。
四、风控
风控是风险交易防范与控制的简称。支付系统设计中,提升自身的风控意识,在必要时为交易增加风控模块,可以有效减少风险交易造成的资金损失。支付核心的风控模块,一般位于交易处理的最前端,每笔交易通过风控模块的检验后,才允许支付核心进行后续的交易处理。
是否设置风控模块,需要评价投入产出比。当支付系统内积累了一定量风险交易数据,并且已经产生实际经济损失的情况下,则需考虑在支付系统内设置风控模块。
1. 业务规则
为支付核心设计交易流程和业务规则时,了解交易中可能发现的风险因素并注意异常环节,是拦截风险交易的有效途径。对于一些常见的支付产品设计中,已经形成了一些能够有效防范风险交易的通用业务规则。
余额账户:
用户使用余额账户进行首次充值时,必须通过账户信息的实名认证。由于用户在银行办理银行卡时,银行一定会对持卡人的身份进行实名认证,所以对平台余额账户使用者可以通过利用银行或支付机构提供的银行卡信息验证接口,对用户进行实名认证。
- 进行实名认证时,需要验证姓名、身份证号、银行卡号、手机号;完成实名认证后,用户必须设置支付密码,后续自消费和提现时,就可以使用支付密码保证余额资金的安全。
- 用户更换余额账户提现银行卡时,必须对已绑定的银行卡进行进行校验,要求用户输入已绑定银行的完整账号和绑定手机号;同时新绑定的提现银行卡,也必须和账户已验证的身份信息一致。
以上措施,可有效防止用户个人信息泄漏造成的余额账户资金损失。
2. 风控模型
风控模型,是依赖可获取的交易信息和客户信息,抽象出的风险交易特征。可用于抽象分析风险交易特征的主要有三类:
- 交易信息:该笔交易自身的信息要素,例如交易类型、交易金额、交易时间、支付账号等信息;
- 客户信息:发起该笔交易的平台用户信息,包括用户使用的设备类型、设备编号、用户定位信息、用户手机号、手机号归属地等;
- 历史数据:用户在平台发生过历史交易,其历史交易的交易信息和用户信息。
通过对已发生的风险交易,分析上述信息即可抽象出风控模型,供风控模块识别风险交易。
3. 风控运营
对于风控模块识别出的风险交易,根据危害程度的等级不同,分为「事前拦截」和「事中审核」两种处理机制。
- 对于明确一定属于风险交易的交易请求,采用事前拦截的处理机制,支付核心收到后,由风控模块直接拒绝交易。
- 对于无法确认是否属于风险交易的,进入风控模块的待审核交易列表,由风控专员对可疑交易进行人工审核。审核后认为是风险交易的,则拒绝交易;审核后不属于风险交易的,由支付核心继续后续的交易处理。
支付核心需要为内部的运营、财务、管理层,提供查看交易数据的可视化管理网站。
1. 交易操作
- 业务运营人员,需要对支付系统中已经发生的交易进行检索,确认某一具体交易的交易状态;
- 对于某一笔具体交易,进行退款操作;
- 内部控台要为业务运营人员提供交易操作入口。
管理层希望了解整个平台的业务运作情况,支付系统通过内部控台提供交易总额、订单转化率、支付渠道占比等可视化的数据图表,直观展示交易数据的变化情况。
3. 报表下载
将历史交易数据整理为交易报表,供相关人员以下载的方式直接获取。
4. 权限控制
支付系统的交易数据属于敏感信息。首先,内部控台要限制仅可以通过公司内网访问,并控制可以查看数据的人员数量,具有数据查看权限的人员,需要对数据安全和资金安全负责;其次,和用户有关的卡号、姓名等信息,要做脱敏显示,预防泄露用户信息。
六、报表
支付系统负责将交易数据,定期整理为报表,供有关人员下载使用。
1. 交易报表
按照固定的时间周期,将支付系统中已成功处理的交易流水,生成交易报表。交易报表展示的交易流水,需要按照交易系统支持的交易服务类型,分别生成交易报表。
支付交易、充值交易、出款交易,在交易数据信息上各不相同,需要分别出具独立的交易报表;一般按照日、周、月为时间维度,固定出具交易报表;交易报表中除了提供交易流水明细,还需要提供该时间周期内的汇总数据,方便使用者快速了解这个时间段内的交易情况。
交易报表的结构关系为:
2. 结算报表
支付系统的清算核心对账户中资金进行结算时,生成结算报表,供运营或财务进行付款前的确认或者作为付款凭证作为后续查账、审核的依据。结算报表的属于来自于清算核心提供的结算数据,面向内部人员使用的结算报表可以根据本系统的业务需求,增加其他信息字段,更好的了解结算交易信息。
3. 财务报表
账务核心分账户来管理资金,账户记录了所属会计科目和账务记录,账务记录标明了账户的资金收支情况。按照公司的财务报表编制期间需求,对同一类会计科目的账户,分别统计该报表编制期间内收入和支出金额,生成财务报表。
七、交易监控
支付系统的稳定性十分重要,一旦因为故障出现交易中断,会对整个平台的收入造成重大影响。
- 监控支付渠道的交易稳定性:支付系统对接的外部渠道,监控支付渠道的接口响应时间和成功交易占比这两个重要指标,来监控支付渠道的稳定性。
- 监控支付核心处理交易的稳定性:主要监控支付核心处理交易的平均时间,保证支付系统的稳定信息。
交易监控中发现的异常告警,以短信、邮件等方式及时通知负责人员处理交易异常信息,尽早恢复交易。
《支付系统设计白皮书》由 PingPlusPlus支付学院(ID:pingxxpi)出品。
本文由 @支付学院 原创发布于人人都是产品经理,未经允许,禁止转载。
题图来自 Unsplash,基于CC0协议。
相关文章
-
为什么人会产生自杀的念头?这可能与基因有关
-
国内最牛“白帽子”郑文彬再现身,所创新公司已获红杉种子、真格基金投资
-
易改衣与唯品会达成战略合作,要撬动万亿市场
-
新 iPad Pro 蜂窝版开售 / 丁香医生回应权健:不会删稿 / 荣耀 V20 发布,2999 元起
-
BITEK硕颉一级代理分销KOYUELEC光与电子
-
微信还在删除拉黑!学习知识点二,再也不担心被打扰生活查岗
-
为什么NFL众包无能的AI解决方案来解决其脑震荡问题?
-
汽车物流界三“大佬”会面,组建联合物流技术研究中心
-
智造+V课堂06期预告|干货分享邀您一起探究成车组装行业的数字化发展奥秘
-
湖畔大学今日举行开学典礼马老师在现场收藏了一张明信片
-
神回复:听说你们有人盯上了我手里的机
-
焦点分析|扎克伯格转向,Facebook将变得越来越像微信
-
樊通书友会第210期杰出的演说能力并非与生俱来的
-
机器学习太讨厌!细数ML五大罪,引发网友大讨论
-
微信团队可能还是宠幸iOS系统用户多一点
-
德国教授:看不懂中国人,为什么中国人从来都不提自己的成就
-
刚刚!华为百度上榜《麻省理工科技评论》全球50家聪明公司榜单
-
高通骁龙845手机跌破2500,年底才是买手机的最佳时机!
-
零售巨头学盒马被带坑里了?2019年出坑是关键
-
十多亿网友即将打不开网页,只因为更新了波浏览器?
-
一天卖8.18亿,传统服装品牌如何做电商?
-
喜提4大升级!苹果iPhone13新特征提前确定,信息量巨大
-
这是属于“她力量”的一周|IBM一周精彩回顾
-
京东金融就获取用户图片致歉:系技术开发失误,会请权威机构检测
-
小米和荣耀争一个毫无意义的4800万像素,是想收用户的智商税吗?
-
三下乡感悟:竭自己所能,助新材料发展
-
电商下半场,如何掘金万亿二手闲置商品市场?
-
氪星晚报|李小加将卸任港交所行政总裁;爱优腾等9家公司发布自救倡议书;特斯拉回应上海工厂停工属正常调整
-
互联网的2018:巨头掉头 齐向供给侧数字化