其他分享
首页 > 其他分享> > 支付系统设计白皮书:从收单网关及交易服务解析交易系统

支付系统设计白皮书:从收单网关及交易服务解析交易系统

作者:互联网

收单网关

收单网关是平台方支付系统和用户/商户的PC、移动APP所使用的外部网络之间的接口,为支付系统操作将外网传输的数据转换为系统内部数据,同时负责将平台业务系统的内部请求转化为支付系统的内部数据。

收单网关的职责为支付平台化后,系统内部接口不可对外,因此所有外部系统需要通过统一的网关接口调用支付平台;由网关进行一系列格式校验、参数校验、业务调用权限检查后再向支付进行转发。

收单网关设计要素包含:

业务方:指业务平台。可根据公司业务规模大小、业务领域或公司主体等维度,对对接的业务方进行区分,接入后这些业务方即成为支付平台的收单商户,使用平台支付产品实现其收付费功能需求;

用户:业务平台 C 端用户,可根据业务方进行划分;

业务系统:业务端的业务系统;

支付系统:支付清结算平台。

收单网关流程

业务系统收到异步通知后,结合自身的业务规则改变支付单状态,进行如订单状态更新等业务处理。

接口定义

接口设计说明

①交易状态变更通知:通知业务方时,接口信息里面会传递业务订单号、交易订单号、状态、金额、时间等相关信息,以便业务方能更好的做业务处理;

a.交易状态:交易订单的状态;

  1. 等待买家付款

  2. 付款成功

  3. 交易成功

  4. 交易结束

  5. 交易关闭

②退款状态变更通知:通知业务方时,接口信息里面会传递原始业务订单号、退款业务订单号、退款交易订单号、状态、金额、时间等相关信息,以便业务方能更好的做业务处理;

a.退款状态:退款订单的状态;

  1. 退款成功

  2. 退款失败

交易服务

交易服务的作用

担保收单交易

①担保交易:用户在业务平台中选择某商家的商品进行购买,支付完成后该笔订单资金进入平台的担保账户,等到用户确认收货后,将该笔订单的资金结算给对应商家账户;此交易类型也可以适用于一些具备结算周期等时间属性的业务当中,通过网关的担保收单接口和结算接口做到由业务方灵活控制结算账期。
②流程

③担保交易设计

定义担保交易产品代码,标识此类交易订单的类型。担保交易分为下单支付和结算两个环节:

即时到账交易

即时到账交易即用户在平台上选择商品购买并支付,付款的资金立马结算到商家的收款账户中。

例如,早期支付宝 PC 端的即时到账产品,用户通过 PC 网银即时到账产品付款后,单笔交易即时结算到了商户的平台账户中,由此可得:

即时到账交易与业务场景息息相关,在某些非担保流程中,若用户付款后需要立马进行履约的情况,则适合即时到账产品,例如各平台的会员产品购买场景。

①流程

②即时到账的设计要点:

充值交易

充值交易即用户对账户余额进行充值,一般运用于充值虚拟币、钱包余额等产品。用户对账户余额进行充值,一般运用于充值虚拟币、钱包等产品,首先需要对充值的两种做法做一个区分。

例如,在用户感知层面,早期的支付宝与淘宝不分你我,支付宝像是为淘宝定制的专属钱包,但实际上用户在支付宝充值的余额与淘宝业务并无关联;而腾讯的虚拟货币 Q 币则是由业务端发起的交易,因此与业务平台具有强关联性。因此基于支付平台的两种做法,一种是基于支付平台的账户做充值,另一种是基于业务平台做充值。

①流程

②充值交易的设计要点:

  1. 充值和虚拟币的消费业务端完全闭环,由支付系统内部针对该充值业务开设一个统一的收款账户,结算时通过支付系统提供的入账记资金分润,适用于直播、视频等纯互联网虚拟业务;

  2. 接口定义:下单支付接口;

  3. 优势:开发成本低,实现起来相对简单、可快速实现业务;

  4. 劣势:账务不清晰,流程不统一、有一定资金风险。

  1. 钱包收银台:充值行为发生在支付系统体系内(参考前文中讲到的支付宝逻辑)且独立于业务平台。原则上当公司业务规模扩大,不同的 App 统一接入支付系统时,独立的钱包账户余额应可同时支持不同业务的账户支付需求。例如,美团账户余额充值的资金同时适用于美团外卖、点评等,此时美团的钱包已经是拥有独立账户体系的产品,接入各业务平台仅需不同业务端识别用户的唯一标识即可;

  2. 充值网关接口:针对于业务方发起的充值行为,各个业务平台自己本身具备充值业务需要支付体系的账户能力提供支持。通过网关充值(入口在业务端)且可以满足各个业务方不同账户类型的诉求,需要每个业务方在用户发起充值时,充值至用户在此业务下开设的对应虚拟账户,例如 B 站的 B 币、金瓜子等,就来源于不同的业务方开设的不同虚币账户;

  3. 接口定义:充值接口(账户类型、uid、金额、支付方式等);

  4. 优势:资金账户清晰、流程标准化、所有支付、账户由支付系统控制,资金安全有一定保证;

  5. 劣势:开发成本高,实现起来相对复杂。

出款交易

出款也称之为提现。用户基于自己账户余额发起提现,一般电商平台涉及到的场景为 C端用户的钱包账户余额提现和B端用户收益账户的余额提现,是将资金从平台的虚币账户转移用户外部账户的过程。具体分类可分为出款到卡及出款到账户。
①流程

②出款交易的设计要点:
定义产品码,可以拆分为出款到卡和出款到账户等不同的产品,针对 B 端商户的提现交易记录,原则上最好单独用表单显示;按照流程图所示,提现时首选要做好余额校验动作;

  1. 出款到账户:目前常见的场景为用户发起提现到支付宝或者微信账户,接入支付宝微信等第三方支付公司的付款产品即可满足此需求,业务端需做好用户端的第三方账号信息采集,用户发起提现的时将账户等相关信息上传至第三方等待出款结果即可;根据业务模式,针对 B 端商户提现时,优先做实名认证再发起提现,且发起提现的账户信息和实名认证信息一致为佳,再根据业务端需求判断是否有针对 C 端用户做实名认证处理的必要;

  2. 出款到卡:和付款到账户的主流程没有太大区别,但一般情况下需要商户端采集用户银行卡信息,因此需要将支付系统中存储银行卡相关的数据(卡 Bin 信息、城市、省份等),并对业务  端提供绑定、查询等接口为佳,这样用户前端绑卡时无论是卡 Bin 接口验证,还是前端做选择输入银行都能拥有较好的体验。*提现到银行卡需要接入对应的银行卡出款渠道。

 

《支付系统设计白皮书》由 PingPlusPlus支付学院(ID:pingxxpi)出品。


标签:网关,白皮书,账户,业务,接口,充值,收单,支付
来源: https://blog.51cto.com/13835746/2366850