支付系统业务层设计

Scroll Down

业务层

风控-幂等-认证-降级
需要对支付API增加API权限控制,增加签名认证 (JWT)

需要对支付API进行同一IP限流多次调用限流 (RateLimit),降级处理

同时需要对接口提供幂等处理。(Redis)

还需要提供主动轮询支付结果,定时对账功能,提供补偿机制。

交易超时处理,队列处理

对内财务清算
使用规则引擎设置的资金分配规则,完成交易资金的自动化清分与结算,通过已对接的外部交易渠道完成划付(分钱)

需要增加对账查询,补偿功能

收银台
何谓收银台,宏观上来讲,用户去商场购买完商品区结账回去收银台进行结算,在电商中我们的支付系统同样需要抽离一个这样的功能,来支撑交易的运转。

付款退款
当用户发起购买产生支付行为时,资金从用户端流向支付系统,退款时则相反也就是逆向处置,从支付系统回流至用户端。因此在整个交易过程中用户端与支付系统是双向资金的流动方式。

对于支付系统而言,资金有进有出。消费者购买商品之后资金从客户手中流向系统,清算时资金从支付系统到商户,在清算完成后支付系统负责将代收的资金结算给商户,通常结算的操作可以在线上来完成(采用支付公司代付接口或者银企直连接口来完成),也可以由公司财务通过线下手工转账的方式来完成,因此这种资金流动的方式是单向的。

出于资金安全考虑,大多数公司通常这部分采用线下方式实现。真实的资金流由支付公司按照约定期限(通常 T+N)结算到平台公司的对公账户中,然后再由平台公司再按照交易明细进行二次清算后结算给对应的商户。如喜马拉雅在接入微信/支付宝时,业务所在行业为视频影音属于虚拟商品,因此接入费率为 1%,结算周期为 T+7。同样公司进行清算也会根据第三方支付提供方根据公司售卖商品的种类来给出结算周期,公司要根据结算周期来给商户进行结算。