[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
支付系统的学习
时间:
2020-02-20 16:25:47
阅读:
67
评论:
0
收藏:
0
[点我收藏+]
第一章 概述
定义: 支付系统伴随着电子商务的出现而发展,主要表现为具有一定的业务独立性,为各类经营活动提供在线收付款交易以及资金管理的功能
基础必备: 因为央行妈妈的规定,人民币交易仅限于银行和持牌支付的第三方机构,所以支付系统需要具有:
统一封装的交易接口
根据业务系统设置的资金分配规则;比如一笔订单涉及到多个收款方或者付款方时,完成交易清算和渠道划付
账务数据记录功能
支付系统架构设计
业务层:根据不同的场景提供收付款界面以及处理业务系统的交易请求
收银台
他这里提到了————支付渠道的服务模型,进而引申除了服务模型
服务模型是指商户可以使用的交易形式,支付产品(快捷,网银,代扣,pos),签约方式,阶段周曦以及费率等核心问题的综合体;
交易系统 交易系统本身是作为支付系统外部处理业务逻辑的外围系统
职责: 对接上层的业务系统,其次将支付系统的支付能力抽象出来,对外提供各类交易方式,例如下单,支付,修改金额,确认结算,退款,关闭以及查询等能力,最后需要对各种交易类型进行定义,例如担保交易,及时到账,充值,提现等类型;
交易系统的场景
下单: 生成交易订单,确定交易参与
退款: 针对已支付的订单进行退款,退款金额不得大于实际支付金额,积分退回原账户,同时针对针对退款交易类型生成退款交易订单号,关联入款订单
修改金额:
查询
通知: 通知上层业务系统交易状态
算费:手续费
交易系统的交易类型
即时到账交易
担保收单交易
收单退款交易
普通转账交易
合并支付交易
下定交易: 定金模式
提现交易
冻结解冻: 在交易前通过冻结能力对用户部分资金冻结,保证交易正常进行,也可以针对某些原因保证用户资金安全如 账户被盗 司法案件
充值
交易系统的支付形式
单笔支付交易
合并支付交易
业务类型
收单交易: 支付入款,收款和付款为2个角色
充值交易:支付入款,收款和付款为1个角色,由外部账户转到内部账户
出款交易: 和充值交易相反
退款交易:收单交易的反向流程
会员系统: 是支付系统的账户体系;他保存了客户在支付系统内部账号的实体信息,为客户建立了统一且唯一的会员基本信息和关系信息视图,会员可以配置一定的业务参数,如接口周期,接口权限,支付方式 但是大部分的互联网公司一般都是直接对接第三方的渠道支付,没有出现独立的账户体系
支付层:通过支付渠道处理完成资金的收付款,记录参与交易账户的资金流转情况并按照预定规则信息账户所属资金进行拆分和合并;
支付核心
职责:通过支付核心与后端清结算,灰机,账户等系统的统一协作,让前端支付产品可以更关注产品本身的逻辑。通过标准化的支付指令定义,统一前端支付请求接口,提供各类产品使用的基础支付服务;
场景
支付服务:负责对后端支付系统的接口进行业务包装,同时实现使用多个支付方式进行组合支付的功能
支付服务流程:对各支付类型的支付服务流程进行定义,具体定义为充值,提现,转账,退款等原子事务,并实现对基础服务的流程编排;
支付指令:发起订单后,通过协议和协议明细项加工得出的支付指令,需包含后续操作的全部信息
支付协议:将产品的各流程进行支付编码的定义和字段规定,起规范作用
核心架构 【图片】
账务核心
根据业务系统的要求设计相匹配的账户类型,管理各类账户,记录账户资金变动,同时按照公司的财会数据进行对账比对
清算核心
负责维护客户交易时的清分,结算规则,并按照已配置的规则完成交易资金的清分与结算操作;
第二章:快速了解支付产品
按机构分类: 按照交易主体来源机构的的不同
支付账户:由支付机构为客户开立,用户电子商务交易的收付款结算;按照2015年的非银行机构网络支付业务管理办法
I类账户以非面对面方式,至少通过一个外部渠道验证身份,为其开立的支付账户,累计金额不得1000元,II类账户不得超过10万元,III 类账户账户资不超过20万元
银行账户: 由银行业金融机构为客户设计,除了用户支付结算以外,还具有保值增值的目的。银行账户的标志是银行卡,同业它也分成三类账户
I类账户柜台现场核验,拥有最全面的账户功能,每个人在同一家商业银行仅可开通一个I类账户,II类账户和III 类账户都可以通过在线身份校验开通,不过权限有所不同;
目前支付系统对接的所有产品,都是基于银行账户进行资金处理的;
按产品分类
网银/网关支付 : 分为网银支付和企业网银支付
快捷支付: 依赖于支付账户的一种支付方式,通过绑定个人支付账户及银行卡,每次支付时仅需校对支付密码即可完成支付, 二维码支付也是一种快捷支付
代扣: 在获取用户授信后,无需用户确认,直接扣款。 如水电费代缴,房贷扣款,免密支付
代付
按场景分类
线上:支付宝 微信 银联
线下: 扫码付 (微信,支付宝 支持扫码的各大商业银行)
跨境: 为境外商户提供人民币收款能力,为境内和境外的商户提供外币的收款能力;
第三章:收银台设计
收银台支付方式选择
收单(付款):通过各类支付凡是针对业务订单发起付款
业务流程:【流程图】
充值:对账户进行余额充值;
业务流程【流程图】
组合支付
优惠支付
即基于支付系统的代金券,优惠券,红包等营销支付流程设计,本质上是基于账户做的影响支付体系
平台侧营销账户:如优惠券 代金券等优惠账户应在平台建立营销账户 使用时从2个账户中进行扣减,
用户侧营销账户:绑定用户,通过领用红包,优惠券则视为默认开通对应营销账户,账户增加,使用时进行账户扣减
营销支付设计
基于业务端做营销 : 在业务平台直接对优惠券金额进行扣除
调用支付系统前,对优惠部分进行计算完成直接扣减,在调用支付系统,根据用户实际支付金额生成订单
基于支付端做营销
平台侧: 将平台的优惠补贴金额通过内部户形式存在账户系统中,等用户发起支付时,平台计算总金额,优惠金额,根据总金额生成交易订单,根据总金额的构成生成支付订单
用户侧:比较适用于部分营销产品拥有较强的用户属性,如用户积分,,需要根据其业务单独开设补贴账户,支付时根据营销账户+其他支付方式进行组合,一笔付款付多个付款渠道;
第四章:交易系统
收单网关:
定义:是平台方支付系统和用户的外部网络之间的接口,为支付系统操作将外网传输的数据转化成系统内部数据,同时负责将平台业务系统的内部请求转化成支付系统的内部数据。在支付平台化后,所有外部系统需要通过统一的网关接口调用支付平台,由网关进行一系列格式校验,参数校验,业务调用权限检查后再进行向支付系统转发
收单网关流程 【流程图】
1业务系统构造请求信息
2业务系统发送请求信息
3支付系统处理请求信息
4支付系统返回信息:支付系统一般会以同步和异步2种方式返回业务数据,同步通知代表请求处理成功,而通知订单处理状态会以异步通知的新式主动回调用户;
5业务系统处理响应信息
接口定义: 业务系统和支付系统之间通过https协议来进行通信,接口以url的新式提供并使用post方式请求;
接口设计说明:
接口基本请求 需要定义接口的业务参数
服务请求接口 根据支付系统本身的能力抽象出的业务接口,给外部业务方进行调用
及时到账交易网关接口
担保交易网关接口
结算分账网关接口
继续支付网关接口
退款网关接口
交易查询网关接口
通知接口
交易状态变更通知
交易服务
交易服务的作用:将支付系统的支付能力抽象出来,提供各类交易服务;基于收款方的交易链业务路进行对接各类业务方的需求
担保收单交易
第一个环节为下单环节,参与交易双方付款人是用户,收款人是在支付系统内部开通的一个担保账户,在发起结算时,参与交易双方信息2条收付款人记录,最终资金以内部转账新式转给实际收款的商户账户。
及时到账交易 【流程图】
充值交易: 用户对账户余额进行充值,一般运用于虚拟比,钱包余额等产品
出款交易【流程图】
出款到账户,目前市面常见用户场景是提现到支付宝或者微信
出款到卡;和出款到账户差不多,不过一般出款到卡需要走对应银行卡的出款渠道;
第五章:会员客户系统
会员基本信息
会员开户流程
第六章:支付核心 ?
支付前置
定义:是指包装后端支付核心系统的接口,包装后对外提供的服务包括余额,现金,网银,快捷支付,出款及相关订单的退款和控制接口,另提供后台系统调用的服务包括确定性入款,登账,冻结解冻等,所有的支付行为都会以业务员支付订单的形式落地。 用户在前端发起一次支付行为后,交易系统基于原始的交易订单,对应生产一条付款订单,通过这笔付款订单和支付核心进行交互;
业务产品码: 对应各类支付请求到达支付前置系统后,前置系统根据业务产品码和本身的支付业务配置关系,生产对应的业务支付订单。
支付产品码: 由于即时到账担保交易在业务规则上不同,但是支付渠道都会判断为支付,这种情况下都是支付,但是业务产品码不同,因此支付产品码 一个支付产品编码代表一个支付协议
支付引擎
类别: 充值 提现 转账 退款
指令:指令即支付核心的工单号,前置的每笔支付订单对应着一笔甚至躲避指令;
举例:用户在电商网站购买一般价格100元,通过支付宝付款,订单类型为担保交易,在交易核心生产一笔担保支付的订单,调用支付核心系统支付时,支付系统判断业务调研方已经配置了 [收单支付协议],且根据对应协议生产一笔业务类型为第三方支付的支付订单。基于此订单生成了第一条充值的支付指令; 该指令在根据支付类型去调用服务流程时,先通过流程编排先执行外部支付渠道,确认充值的钱收进平台了,然后生成 清算指令,给用户发出付款成功指令,最后生成账务指令并调用账务核心,执行内部财务入账;
支付服务流程
定义支付指定的执行流程,将支付拆分成原子级的支付类型,并对支付类型的流程进行编排。一般来说充值 提现 转账 退款能够通过自定义组合实现所有的支付行为;
风控 : 风险交易防范与控制的简称
是否设置风控模块,需要评价投入产出比。只有当系统内积累了一定量的风险交易数据,并且已经产品实际经济损失情况下,则考虑在支付系统内设置风控模块
业务规则:
余额账户首次充值时,需进行账户实名认证,设置支付密码
变更余额账户和提现银行卡时,必须进行已绑定银行卡校验和新绑定银行卡校验
风控模型: 是指依赖可获取的交易信息和客户信息,抽象出风险交易特征,可用于抽象风险交易特征的主要有三类:
交易信息: 交易类型,交易金额,交易时间,支付账户等信息
客户信息:设备类型 设备编号 用户定位信息,用户手机号 手机号归属地;
历史数据: 在平台发生的历史交易及其交易信息和用户信息
风控运营
对于风控模块识别出的风险交易,根据其危害程度的不同,分为事前拦截和事中审核
内部中控台
支付核心需要为内部的运营,财务,管理层提供查看交易数据的可视化管理网站,如交易总额,订单转化率,支付渠道占比等可视化数据图表;
报表下载:
交易报表: 交易流水报表
结算报表: 支付系统的清算核心对账户资金进行结算时,生产结算报表,供运营或者财务进行付款前或者作为付款凭证进行后续审核查账
财务报表 按照公司财务报表编制的需求生产财务报表
权限控制,因为交易数据属于敏感信息,内部中控台需要作出特定的限定,并且关键个人隐私数据需要脱敏
交易监控
支付系统的稳定性十分重要
监控支付渠道的交易稳定性,支付系统对接的外部渠道,监控支付渠道的接口响应市场和成功交易占比这2个重要支付
监控支付核心处理交易的稳定性:主要监控支付核心处理交易的平均时间,保证支付系统的稳定信息
交易监控中发现的异常警告,以短信,邮件等方式及时通知负责人员处理交易异常信息;
第七章:财务核心 (本章主要涉及到一些财务的基础知识)
借贷记账法 有借必有贷,借贷必相等; 资产=负债+所有者权益
实现方式: 在账务核心设计时,应重点对每一条账务流水,并在多个相关联账户中等值记录资金的增加和减少情况;
在将已记录的金额增加减少转化成会计科目的借贷符号;
第八章:清算核心
清结算规则:
清分规则:是基于一笔交易的商品,金额,买卖双方等要素配置的一套资金划分规则。通俗来说就是需要明确在一笔订单的业务形成中,设置好规则,将每个账户的应付账款同步至结算中心;
结算规则: 一般是指客户的交易资金结算周期;
清分: 清算核心用于维护各个系统同步过来的清分规则,清算核心根据每笔交易的信息,查询匹配设置的清分规则
实时清分 清算核心接收到订单交易信息后,立即按照交易信息匹配清分规则,并完成相关的资金划分
举例:用户a通过销售人员b在买家c出购买100元商品,用户使用10元优惠券,实际通过支付宝支付90元,平台对每笔交易收取5%手续费,销售人员可以按每笔交易获取20%的提成。
在该笔交易中心,平台收取5元手续费,销售人员获取20元提成,由清算核心进行处理交易资金。 平台的10元优惠券和用户支付90元,由账务核心进行处理。
异步清分
在交易完成后,不能立即确认该笔交易的参与资金清分的客户需要事后再次更新交易信息,才能确认资金清分。 举例如快递交易
结算
对有资金结算需求的账户,需要对该账户内的账务记录,进行对账状态和结算状态的标记;
对于未对账的账户记录,不予以结算
清算核心在向结算账户进行结算付款时,需要为支付系统输出结算数据。支付系统的其他模块负责将这些数据整理为结算对账单提供给结算账户所属账户,供客户确认总金额和每笔金额是否正确。
支付系统的学习
原文:https://www.cnblogs.com/prophet-it/p/12335628.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!