如何构建一个完整的支付系统-基础篇

  • 第一章 概述
    • 定义: 支付系统伴随着电子商务的出现而发展,主要表现为具有一定的业务独立性,为各类经营活动提供在线收付款交易以及资金管理的功能
    • 基础必备: 因为央行妈妈的规定,人民币交易仅限于银行和持牌支付的第三方机构,所以支付系统需要具有:
      • 统一封装的交易接口
      • 根据业务系统设置的资金分配规则;比如一笔订单涉及到多个收款方或者付款方时,完成交易清算和渠道划付
      • 账务数据记录功能
    • 支付系统架构设计
      • 业务层:根据不同的场景提供收付款界面以及处理业务系统的交易请求
        • 收银台
          • 他这里提到了————支付渠道的服务模型,进而引申除了服务模型
          • 服务模型是指商户可以使用的交易形式,支付产品(快捷,网银,代扣,pos),签约方式,阶段周曦以及费率等核心问题的综合体;
        • 会员系统: 是支付系统的账户体系;他保存了客户在支付系统内部账号的实体信息,为客户建立了统一且唯一的会员基本信息和关系信息视图,会员可以配置一定的业务参数,如接口周期,接口权限,支付方式 但是大部分的互联网公司一般都是直接对接第三方的渠道支付,没有出现独立的账户体系
      • 支付层:通过支付渠道处理完成资金的收付款,记录参与交易账户的资金流转情况并按照预定规则信息账户所属资金进行拆分和合并;
        • 支付核心
          • 职责:通过支付核心与后端清结算,灰机,账户等系统的统一协作,让前端支付产品可以更关注产品本身的逻辑。通过标准化的支付指令定义,统一前端支付请求接口,提供各类产品使用的基础支付服务;
          • 场景
            • 支付服务:负责对后端支付系统的接口进行业务包装,同时实现使用多个支付方式进行组合支付的功能
            • 支付服务流程:对各支付类型的支付服务流程进行定义,具体定义为充值,提现,转账,退款等原子事务,并实现对基础服务的流程编排;
            • 支付指令:发起订单后,通过协议和协议明细项加工得出的支付指令,需包含后续操作的全部信息
            • 支付协议:将产品的各流程进行支付编码的定义和字段规定,起规范作用
          • 核心架构 【图片】
        • 账务核心
          • 根据业务系统的要求设计相匹配的账户类型,管理各类账户,记录账户资金变动,同时按照公司的财会数据进行对账比对
        • 清算核心
          • 负责维护客户交易时的清分,结算规则,并按照已配置的规则完成交易资金的清分与结算操作;
  • 第二章:快速了解支付产品
    • 按机构分类: 按照交易主体来源机构的的不同
      • 支付账户:由支付机构为客户开立,用户电子商务交易的收付款结算;按照2015年的非银行机构网络支付业务管理办法
        • I类账户以非面对面方式,至少通过一个外部渠道验证身份,为其开立的支付账户,累计金额不得1000元,II类账户不得超过10万元,III 类账户账户资不超过20万元
      • 银行账户: 由银行业金融机构为客户设计,除了用户支付结算以外,还具有保值增值的目的。银行账户的标志是银行卡,同业它也分成三类账户
        • I类账户柜台现场核验,拥有最全面的账户功能,每个人在同一家商业银行仅可开通一个I类账户,II类账户和III 类账户都可以通过在线身份校验开通,不过权限有所不同;
        • 目前支付系统对接的所有产品,都是基于银行账户进行资金处理的;
    • 按产品分类
      • 网银/网关支付 : 分为网银支付和企业网银支付
      • 快捷支付: 依赖于支付账户的一种支付方式,通过绑定个人支付账户及银行卡,每次支付时仅需校对支付密码即可完成支付, 二维码支付也是一种快捷支付
      • 代扣: 在获取用户授信后,无需用户确认,直接扣款。 如水电费代缴,房贷扣款,免密支付
      • 代付
    • 按场景分类
      • 线上:支付宝 微信 银联
      • 线下: 扫码付 (微信,支付宝 支持扫码的各大商业银行)
      • 跨境: 为境外商户提供人民币收款能力,为境内和境外的商户提供外币的收款能力;
  • 第三章:收银台设计
    • 收银台支付方式选择
      • 收单(付款):通过各类支付凡是针对业务订单发起付款
        • 业务流程:【流程图】
      • 充值:对账户进行余额充值;
        • 业务流程【流程图】
    • 组合支付
    • 优惠支付
      • 即基于支付系统的代金券,优惠券,红包等营销支付流程设计,本质上是基于账户做的影响支付体系
        • 平台侧营销账户:如优惠券 代金券等优惠账户应在平台建立营销账户 使用时从2个账户中进行扣减,
        • 用户侧营销账户:绑定用户,通过领用红包,优惠券则视为默认开通对应营销账户,账户增加,使用时进行账户扣减
      • 营销支付设计
        • 基于业务端做营销 : 在业务平台直接对优惠券金额进行扣除
          • 调用支付系统前,对优惠部分进行计算完成直接扣减,在调用支付系统,根据用户实际支付金额生成订单
        • 基于支付端做营销
          • 平台侧: 将平台的优惠补贴金额通过内部户形式存在账户系统中,等用户发起支付时,平台计算总金额,优惠金额,根据总金额生成交易订单,根据总金额的构成生成支付订单
          • 用户侧:比较适用于部分营销产品拥有较强的用户属性,如用户积分,,需要根据其业务单独开设补贴账户,支付时根据营销账户+其他支付方式进行组合,一笔付款付多个付款渠道;
  • 第六章:支付核心 ?
    • 支付前置
      • 定义:是指包装后端支付核心系统的接口,包装后对外提供的服务包括余额,现金,网银,快捷支付,出款及相关订单的退款和控制接口,另提供后台系统调用的服务包括确定性入款,登账,冻结解冻等,所有的支付行为都会以业务员支付订单的形式落地。 用户在前端发起一次支付行为后,交易系统基于原始的交易订单,对应生产一条付款订单,通过这笔付款订单和支付核心进行交互;
      • 业务产品码: 对应各类支付请求到达支付前置系统后,前置系统根据业务产品码和本身的支付业务配置关系,生产对应的业务支付订单。
      • 支付产品码: 由于即时到账担保交易在业务规则上不同,但是支付渠道都会判断为支付,这种情况下都是支付,但是业务产品码不同,因此支付产品码 一个支付产品编码代表一个支付协议
    • 支付引擎
      • 类别: 充值 提现 转账 退款
      • 指令:指令即支付核心的工单号,前置的每笔支付订单对应着一笔甚至躲避指令;
      • 举例:用户在电商网站购买一般价格100元,通过支付宝付款,订单类型为担保交易,在交易核心生产一笔担保支付的订单,调用支付核心系统支付时,支付系统判断业务调研方已经配置了 [收单支付协议],且根据对应协议生产一笔业务类型为第三方支付的支付订单。基于此订单生成了第一条充值的支付指令; 该指令在根据支付类型去调用服务流程时,先通过流程编排先执行外部支付渠道,确认充值的钱收进平台了,然后生成 清算指令,给用户发出付款成功指令,最后生成账务指令并调用账务核心,执行内部财务入账;
    • 支付服务流程
      • 定义支付指定的执行流程,将支付拆分成原子级的支付类型,并对支付类型的流程进行编排。一般来说充值 提现 转账 退款能够通过自定义组合实现所有的支付行为;
    • 风控 : 风险交易防范与控制的简称
      • 是否设置风控模块,需要评价投入产出比。只有当系统内积累了一定量的风险交易数据,并且已经产品实际经济损失情况下,则考虑在支付系统内设置风控模块
      • 业务规则:
        • 余额账户首次充值时,需进行账户实名认证,设置支付密码
        • 变更余额账户和提现银行卡时,必须进行已绑定银行卡校验和新绑定银行卡校验
      • 风控模型: 是指依赖可获取的交易信息和客户信息,抽象出风险交易特征,可用于抽象风险交易特征的主要有三类:
        • 交易信息: 交易类型,交易金额,交易时间,支付账户等信息
        • 客户信息:设备类型 设备编号 用户定位信息,用户手机号 手机号归属地;
        • 历史数据: 在平台发生的历史交易及其交易信息和用户信息
      • 风控运营
        • 对于风控模块识别出的风险交易,根据其危害程度的不同,分为事前拦截和事中审核
      • 内部中控台
        • 支付核心需要为内部的运营,财务,管理层提供查看交易数据的可视化管理网站,如交易总额,订单转化率,支付渠道占比等可视化数据图表;
        • 报表下载:
          • 交易报表: 交易流水报表
          • 结算报表: 支付系统的清算核心对账户资金进行结算时,生产结算报表,供运营或者财务进行付款前或者作为付款凭证进行后续审核查账
          • 财务报表 按照公司财务报表编制的需求生产财务报表
        • 权限控制,因为交易数据属于敏感信息,内部中控台需要作出特定的限定,并且关键个人隐私数据需要脱敏
      • 交易监控
        • 支付系统的稳定性十分重要
          • 监控支付渠道的交易稳定性,支付系统对接的外部渠道,监控支付渠道的接口响应市场和成功交易占比这2个重要支付
          • 监控支付核心处理交易的稳定性:主要监控支付核心处理交易的平均时间,保证支付系统的稳定信息
          • 交易监控中发现的异常警告,以短信,邮件等方式及时通知负责人员处理交易异常信息;
  • 第七章:财务核心 (本章主要涉及到一些财务的基础知识)
    • 借贷记账法 有借必有贷,借贷必相等; 资产=负债+所有者权益
      • 实现方式: 在账务核心设计时,应重点对每一条账务流水,并在多个相关联账户中等值记录资金的增加和减少情况;
      • 在将已记录的金额增加减少转化成会计科目的借贷符号;
  • 第八章:清算核心
    • 清结算规则:
      • 清分规则:是基于一笔交易的商品,金额,买卖双方等要素配置的一套资金划分规则。通俗来说就是需要明确在一笔订单的业务形成中,设置好规则,将每个账户的应付账款同步至结算中心;
      • 结算规则: 一般是指客户的交易资金结算周期;
    • 清分: 清算核心用于维护各个系统同步过来的清分规则,清算核心根据每笔交易的信息,查询匹配设置的清分规则
      • 实时清分 清算核心接收到订单交易信息后,立即按照交易信息匹配清分规则,并完成相关的资金划分
        • 举例:用户a通过销售人员b在买家c出购买100元商品,用户使用10元优惠券,实际通过支付宝支付90元,平台对每笔交易收取5%手续费,销售人员可以按每笔交易获取20%的提成。
        • 在该笔交易中心,平台收取5元手续费,销售人员获取20元提成,由清算核心进行处理交易资金。 平台的10元优惠券和用户支付90元,由账务核心进行处理。
      • 异步清分
        • 在交易完成后,不能立即确认该笔交易的参与资金清分的客户需要事后再次更新交易信息,才能确认资金清分。 举例如快递交易
    • 结算
      • 对有资金结算需求的账户,需要对该账户内的账务记录,进行对账状态和结算状态的标记;
      • 对于未对账的账户记录,不予以结算
      • 清算核心在向结算账户进行结算付款时,需要为支付系统输出结算数据。支付系统的其他模块负责将这些数据整理为结算对账单提供给结算账户所属账户,供客户确认总金额和每笔金额是否正确。
posted @ 2020-02-20 14:38  一粒尘_PM  阅读(3445)  评论(1编辑  收藏  举报

Android应用开发&研究 - 创建于 2017年8月17日

这是一位Android开发工程师的个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

致力于Android应用开发&研究工作,专注移动开发,关注互联网前沿技术与趋势。


Font Awesome | Respond.js | Bootstrap中文网