到家业务。负责交易系统(提单、支付)以及基础系统(Api网关、定位、地址)等开发工作,通过深入到业务,搭建合理的业务架构。目前主攻降低软件复杂性设计、构建高可用系统方向。
0 前言
线下现金交易,可能抹个零头、少几毛几块都问题不大,但平台上的准确性、一致性,是支付系统的首要指标。
互联网公司,“快”是核心必要指标,特别是以实时性需求的o2o(Online To Offline)电商,整个订单生命周期不到1h,若支付延迟几min,履约质量就会下降,甚至劝退用户!
所以架构整体层面上,在保证系统的安全稳定性同时,要尽可能保证系统高性能运转,解决互联网的“快”和金融行业的“稳”的矛盾。
大纲
- 一、支付平台整体能力介绍
- 二、如何安全保障金额正确性
- 三、高可用架构的一些实践及思路
1 支付平台整体能力介绍
1.1 支付平台的整体架构
支付系统功能架构图:
作为平台系统,应具备:产品通用能力、个性化可配置。目前接入支付平台有几十条业务线,根据不同业务形态,提供的支付产品:
- 收银台(具备多种支付能力)
- 直连支付(直接唤醒支付场景)
- 代扣服务(周期性扣款)
- 代付(好友代付等)
- 协议支付(便快捷支付、免密支付等)
支付系统核心功能:支付和退款。
如预售场景,为业务线提供定金支付这种2阶段支付能力(如定金支付);退款主要是全款、部分退款、以及提供人工退款服务。
提供支付营销能力,进一步提升支付转化,如根据用户所属区域进行支付引流,支付券产品、免息产品、满减等。
在开发定金、和营销产品之前,支付系统被设计为一个订单,在产品形态上很单一,仅认为订单为固定金额,因此开发这两个需求的时候改动大。
目前主流支付能力大概有多阶段支付、大额支付场景、组合支付、支付参与营销等能力,所以有开发支付系统需求的同学,在最开始最好提前预留一些设计。
接入所有主流支付方式(微信支付、支付宝、京东支付、京东白条等),尤其是现在各类小程序当道,各业务线都需要支持在不同小程序中发展业务,但受平台支付方式限制,就要接入更多支付方式,例如百度支付、头条支付等,都要接入。
当业务被嵌入到各种各样的流量渠道入口,我们也要根据不同的渠道支持不同的支付方式,如App支付、H5支付、刷脸支付等。
关注我,紧跟本系列专栏文章,咱们下篇再续!
作者简介:魔都国企技术专家兼架构,多家大厂后端一线研发经验,各大技术社区头部专家博主,编程严选网创始人。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。
参考:
标签:架构设计,多端,架构,平台,系统,业务,支付,一致性,退款 From: https://blog.51cto.com/JavaEdge/9593186