👉目录
1 概述
2 支付系统/核心交易系统的架构特点
3 系统预告
在上一篇文章如何设计一个支付系统丨架构师系列文集中,我们主要讲解了支付系统的设计全貌,为了帮助大家进一步深入理解支付系统的设计细节,腾讯云开发者社区联合原作者产出系列深度文章。本文将主要介绍支付系统在电商系统中的重要性,包括其作为连接消费者、商家和金融机构的桥梁作用,以及在支付处理、安全性保障、支付方式管理、订单管理与结算、交易记录和报告、退款与售后支持等方面的关键作用。同时指出支付系统的发展阶段,从封闭的独立应用系统到开放的服务系统,强调了其对电商企业运营和用户体验的重要性。
关注腾讯云开发者,一手技术干货提前解锁👇
「腾讯云架构师技术同盟」是腾讯云为架构领域知名专家与从业精英打造的专业技术社交圈,通过多样的技术交流会议、社群专业探讨、权威内容输出,打造业界领先的架构师专业技术组织。同盟共创,携手同道,关注每一位中国架构师成长。
扫码报名加入
01
概述
在电商系统中,支付系统扮演着至关重要的角色,是连接消费者、商家(或平台)和金融机构的桥梁,管理支付数据,调用第三方支付平台接口,记录支付信息(对应订单号,支付金额等),金额对账等功能。根据不同公司对于支付业务的定位不同大概分为几个阶段:
第一阶段:支付作为一个(封闭)的、独立的应用系统,为各系统提供支付功能支持。一般来说,这个系统仅限于为公司内部的业务提供支付支持,并且和业务紧密耦合。
第二阶段:支付作为一个开放的系统,为公司内外部系统、各种业务提供支付服务,服务本身应该和具体的业务解耦合。
下面是支付系统在电商系统中的几个关键作用:
支付处理:支付系统负责处理用户的支付请求。当用户选择支付方式并确认购买时,支付系统会接收并处理支付请求,验证用户的身份和支付信息,并与支付渠道(如银行、第三方支付平台)进行交互,完成支付操作。
安全性保障:支付系统在电商系统中起到重要的安全保障作用。它使用加密技术和安全协议,确保用户的支付信息和交易数据在传输和处理过程中得到保护。支付系统还需要符合PCI DSS(Payment Card Industry Data Security Standard)等相关安全标准,以确保用户支付信息的安全性。
支付方式管理:支付系统管理和支持多种支付方式,如信用卡支付、借记卡支付、电子钱包支付、支付宝、微信支付等。它负责与不同的支付渠道和服务提供商进行集成,以提供多样化的支付选择给用户。
订单管理与结算:支付系统与订单管理系统和库存管理系统进行集成,确保支付和订单信息的一致性。支付系统负责将支付成功的订单状态更新,并触发后续的订单处理流程,如订单确认、发货、退款等。它还负责处理结算相关的操作,将支付款项结算给商家,并生成相应的结算报表。
交易记录和报告:支付系统记录和存储所有的交易信息,包括支付时间、金额、支付方式、交易状态等。这些交易数据可以用于生成交易报告和分析,帮助电商企业了解销售情况、用户行为和支付趋势,为业务决策提供依据。
退款与售后支持:支付系统支持退款和售后服务流程。当用户发起退款申请时,支付系统负责验证退款请求的合法性,并与相关系统协同工作,进行退款操作。它还可以提供售后支持,如取消订单、修改订单等功能。
支付系统在电商系统中发挥着至关重要的作用,涵盖了支付处理、安全性保障、支付方式管理、订单管理与结算、交易记录和报告、退款与售后支持等方面。一个高效、安全、可靠的支付系统对于电商企业的顺利运营和用户体验至关重要。
02
支付系统/核心交易系统的架构特点
2.1 支付系统的作用
从上图中我们可以看出真实的资金流向。首先当用户产生支付行为时,资金从用户端流向支付系统,退款时则相反,从支付系统回流至用户端。因此在整个交易过程中用户端与支付系统是双向资金的流动方式。对于支付系统而言,资金有进有出。
从支付系统到商户端就比较简单了,在清算完成后支付系统负责将代收的资金结算给商户,通常结算的操作可以在线上来完成(采用支付公司代付接口或者银企直连接口来完成),也可以由公司财务通过线下手工转账的方式来完成,因此这种资金流动的方式是单向的。出于资金安全考虑,大多数公司通常这部分采用线下方式实现。
真实的资金流由支付公司按照约定期限(通常 T+1 )结算到平台公司对公账户中,然后再由平台公司再按照交易明细进行二次清算后结算给对应的商户。
2.2 支付系统的架构
2.2.1 架构概述
系统说明:
支付网关:支付网关是连接不同支付渠道和商户系统的中间平台,负责接收来自商户的支付请求,然后将请求传递给相应的支付渠道或支付核心,以完成支付过程。
收银台:用户在进行线上购物或支付时,通过进入一个页面来完成支付的过程。用户可以在收银台上选择支付方式、输入支付信息,并进行支付操作。收银台通常是支付网关的一部分。
交易系统:业务发起支付时,支付系统与业务方的前置模块,主要用于对业务的校验、接单、查询请求等处理。
支付核心:支付核心是支付系统的核心引擎,负责处理支付过程中的各种交易请求,包括接收支付请求、交易处理、资金结算等。
商户系统:商户系统是为商户提供的管理支付交易、查询交易数据、配置支付选项等功能的管理平台。商户可以通过商户平台来管理自己的支付业务。
补偿系统:补偿系统通常用于处理支付过程中出现的异常情况,例如支付失败、订单取消等情况,需要对相关方进行补偿或调整。
清结算系统:清结算系统负责处理支付过程中的结算动作,确保资金结算到位,包括向商户结算款项,同时也负责向渠道支付相应的手续费等。
对账系统:对账系统用于进行不同支付系统之间的数据对账,以确保交易数据的准确性。它会对支付核心、商户平台、清结算中心等各个组件的数据进行对比,防止数据出现异常。
会计系统:会计系统用于处理支付过程中产生的会计核算相关的数据,确保资金的正确流转和账务处理,保证支付过程中的财务准确性。
财务系统:财务系统用于整体管理和监控支付过程中的资金流动和资金状况,帮助企业进行财务决策和管理。
运营系统:运营系统负责支付系统的日常运营管理,包括系统监控、问题处理、性能优化等,确保支付系统的稳定运行。
渠道管理:渠道管理用于管理支付网关连接的不同支付渠道,包括银行、第三方支付服务提供商等,以确保支付网关可以顺利地将支付请求发送到适当的支付渠道。
2.2.2 支付系统设计要点
支付系统的核心在于优化用户体验与便捷性,通过简化流程并支持多种支付方式(如信用卡、借记卡、电子钱包和二维码支付),提升用户转化率。结合一键支付和智能推荐功能,可进一步提高用户满意度与使用频率。系统需兼顾业务与技术,优化体验、保障安全与高并发处理,依托现代技术架构构建高效、灵活且稳定的支付体系。
关键业务要点
用户体验与易用性:简化用户支付流程,支持多种支付方式(信用卡、借记卡、钱包、二维码支付等)。采用一键支付和智能推荐的方式来提升用户转化率。
支付安全性:采用HTTPS加密传输,实施PCI DSS(支付卡行业数据安全标准)合规性,利用双重认证和生物识别技术增强用户身份验证,定期进行安全测试和渗透测试。
交易处理与结算:设计高效的交易处理流程,利用分布式架构进行负载均衡;建立快速结算系统,支持实时结算和异步操作,以提高交易处理速度。
退款与纠纷处理:建立高效的退款处理机制,支持自动审批和人工处理相结合;提供清晰的争议解决流程和用户自助服务渠道。
法规遵循与合规性:了解并遵循国家的法律法规(如GDPR、反洗钱法等),建立合规性审核机制,确保支付系统在法律框架内运作。
关键技术要点
系统架构设计:采用微服务架构(Microservices)进行模块化设计,各个服务独立部署,确保系统的灵活性与扩展性。使用Kubernetes等容器编排工具进行服务管理。
高并发处理:使用分布式队列(如RabbitMQ、Kafka)异步处理支付请求,防止系统过载。通过API网关(如Kong、Nginx)进行流量控制和限流。
数据存储与管理:采用分布式数据库(如Cassandra、MongoDB)存储交易数据,确保系统的可扩展性。使用缓存技术(如Redis)加速查询,提升系统响应速度。
监控与告警机制:建立全面的日志管理与监控机制,使用ELK(Elasticsearch、Logstash、Kibana)栈分析日志,设定阈值告警,及时响应系统异常。
版本控制与灰度发布:采用版本控制系统(如Git)管理代码,实施DevOps流程进行CI/CD,采用蓝绿部署或灰度发布机制,确保新版本在上线后的稳定性。
API 接口设计:遵循RESTful设计原则,设计清晰的API文档,提供SDK支持。同时建立API版本管理机制,方便后续的迭代与维护。
支付系统的设计需要在业务和技术上双管齐下,通过优化用户体验、确保安全性和高并发处理,结合现代技术架构,建立一个高效、灵活、稳定的支付系统。
核心流程如下图:
涉及相关的表:
2.2.2.1 支付网关
支付网关是连接商户和支付处理方的重要组件,负责处理支付请求、验证并转发交易信息,同时确保交易的安全与合规。可将网关功能拆分为API层、验证层、限流层和收银台,每个层模块独立,实现高内聚低耦合,便于后续维护与扩展。采用微服务架构将各个功能模块独立化,确保各模块之间低耦合、高内聚,支持独立扩展和部署,提高整体系统的灵活性和维护性。
关键功能包括:交易处理、订单管理和报表与分析。在交易处理方面,系统需支持高并发的交易请求,利用负载均衡技术(如反向代理负载均衡)将请求分发至多个后端服务,以确保交易请求的实时处理与响应,并根据用户行为动态优化交易体验。在订单管理方面,系统应提供订单状态跟踪功能,实时更新订单状态,包括待支付、支付成功、支付失败和退款等,同时实现订单退款、撤销和修改功能,以确保用户能够便捷地管理其订单。最后,在报表与分析功能中,系统需要生成交易报表,统计支付成功率、失败原因和渠道使用情况,支持运营团队进行数据分析和决策,并提供监控面板,实时展示支付系统状态、流量情况与交易成功率,以帮助运维人员及时发现并解决问题。
核心设计逻辑涉及多个关键方面。首先,在API管理方面,需设计清晰且易用的API,确保文档完备,支持信用卡、银行卡、电子钱包等多种支付方式的接入,同时利用API网关工具(如Kong或API Gateway)进行流量管理,实施统一的身份验证与授权控制。其次,在流量控制方面,设定合理的流量限制,采用令牌桶或漏斗算法进行限流管理,以防止系统过载,并持续监控API的使用情况,及时调整流量策略,确保系统的可用性。最后,在安全性措施上,必须使用HTTPS/SSL加密通信,确保用户数据在传输过程中不被窃取,同时实施多重身份验证(如双重认证、短信验证码等),以增强用户身份验证的安全性,并记录交易日志,定期进行安全审计,以防止潜在的安全风险。
2.2.2.2 交易系统
交易系统负责处理来自支付网关的交易请求,管理订单状态与支付信息,确保交易过程的顺利进行。系统通过模块化设计将功能分为订单管理、支付管理和通知管理等,以支持灵活的业务需求,确保系统的可维护性和可扩展性。
架构设计思路:利用分布式架构和高性能消息队列(如Kafka、RabbitMQ)处理高并发请求,确保在大量同时交易情况下系统依然流畅高效。无论交易量如何激增,系统通过横向扩展灵活应对,保证每位用户的支付请求能迅速完成。利用SQL/NoSQL数据库的分库分表策略提高读写性能,降低单一数据库的压力。针对失败订单,实施重试机制,确保操作一致性,并记录失败原因以便后续分析和优化。
核心设计逻辑
授权验证:在交易开始前,验证用户身份和支付信息,确保自有资金的合理使用。
订单管理:实时更新和查询订单状态,支持多种状态的切换(如待支付、已支付、退款中等)。
通知机制:通过Webhook或者异步消息的方式,实时向商户和用户推送订单状态变化。
2.2.2.3 支付核心
支付核心是支付系统的核心模块,负责处理各种支付请求,确保支付过程的准确性和及时性。这个模块通过高效的流程管理和安全控制,提升支付处理速度,并保护用户的敏感信息。
架构设计思路:将支付、退款和代付功能模块化,增强代码可维护性,确保每个模块功能明确,使用有效的加密和签名机制(如RSA、AES)保护敏感信息,确保数据传输的安全性,及时更新加密算法,针对新出现的安全威胁采取预防措施。
核心设计逻辑:基于状态机设计支付流程,由用户、商户和银行三方共同验证,提高交易的安全性和透明度。(后续重点讲)
2.2.2.4 清结算系统
清结算系统是支付生态中的关键组成部分,旨在确保交易后资金的准确清分与结算,提供真实、透明、准确和及时的财务数据。这一系统不仅负责对所有交易进行汇总和 reconciliations,还必须与相关金融机构、商户和用户之间建立高效的资金流转渠道,从而优化资金的使用效率。
业务场景要点:
自动根据交易信息、订单信息和商户约定规则进行资金清分,确保每笔交易资金在各方账户之间合理且及时地流转,支持多种清分规则,如按比例、固定金额或时间段清分,以满足不同商户的业务需求。
支持每日、每周、每月的定期结算功能,确保清算周期与商户需求及行业法规相一致,生成详细的结算报表,记录每一笔交易的资金流入和流出,确保透明性和可追溯性。
实现与银行、支付网关、商户的双向对账功能,确保账务信息的准确一致,自动识别和处理对账差异,及时调整和修正。
支持交易退款过程中的快速清算和资金回流,确保用户体验的顺畅,处理交易失败或异常订单的补偿机制,确保客户权益得到保护。
整体设计,将清结算系统分为多个独立服务(如资金清分服务、对账服务、报告生成服务等),确保高可用性和可维护性,每个服务单独部署和扩展,根据业务负载灵活调整资源,提高系统的适应能力。使用负载均衡器与高可用数据库(如主从复制或分片技术)来确保系统的稳定性与容错能力,实现服务熔断机制,以防止因单点故障导致的整体服务失效,提升系统的可靠性。实施多重身份验证和权限控制,确保只有经过授权的用户能够访问清结算系统及其相关数据,对所有资金流转数据进行加密传输,确保用户和商户的敏感信息不会被泄露。
2.2.2.5 风控合规
风控合规系统是支付生态系统中至关重要的组成部分,旨在通过实时监测交易风险、合规审查和数据分析,保护用户和商户的利益,维护金融环境的安全与稳定。该系统不仅能识别和防范潜在的欺诈行为,还需确保所有交易行为遵守相关法律法规,从而提升整个支付系统的信任度和可靠性。针对发现的风险事件,快速启动应急响应机制,包括交易冻结、用户通知、资金审查等措施,确保用户与商户权益不受损害,提供风险处置流程,确保能够有效记录、追踪和总结事件,以便进行后续的分析和优化,生成全面的风险报告,评估交易活动和风控策略的有效性,支持合规审查和管理决策。
架构设计要点:
将风控合规系统划分为多个独立模块(如实时监测服务、风险评分服务、合规审查服务等),提高系统的灵活性和可维护性。
集成大数据处理平台(如Hadoop、Spark),实现对历史和实时数据的高效存储与分析能力,支持复杂查询和数据挖掘,采用实时数据流处理框架(如Apache Flink或Kafka Streams)来处理交易事件,确保风控决策的及时性和准确性。
系统设计应遵循相关的法律法规及行业标准(如GDPR、CCPA等),确保业务流程的合规,与外部监管机构、金融服务平台及数据库进行接口集成,实时获取必要的合规信息与风险数据,提升合规审查的效率。
智能决策引擎,智能决策引擎在风控系统中的作用是至关重要的,它通过利用人工智能(AI)和机器学习(ML)技术,实时分析和判断交易风险,能够适应动态变化的欺诈模式和风险环境。
核心模块说明:
交易数据采集:实时获取用户交易数据。
用户行为分析:监控用户行为,收集用户活动数据。
外部数据集成:接入外部数据源,比如信用评分、IP地址信息等。
数据预处理模块:
数据清洗:去除噪声和异常数据。
特征提取:分析与生成特征,为模型训练提供输入。
模型选择与训练:
选择算法(如随机森林、决策树、梯度提升、深度学习等)。
训练模型:使用历史数据进行模型训练和验证。
模型评估:分析模型性能,选择最佳模型。
实时风险评估:
输入交易数据:新交易数据进入。
输出风险评分:基于模型输出实时风险评分。
规则引擎:根据生成的风险评分决定交易处理方式(放行、人工审核或拒绝)。
通过这些细致的设计和实现步骤,智能决策引擎可以为风控系统提供强大的支持,逐步提升对交易风险的识别能力,并有效应对复杂的欺诈行为。这将为整个支付系统的安全性和用户的信任度提供重要保障。
2.2.2.6 会计系统
会计系统负责管理公司的财务数据及日常会计业务,通过精确的财务管理为公司的决策提供支持。系统应确保财务数据的准确性、及时性和安全性。设计账务、日切和汇总模块,确保财务透明,便于后期审计和分析。与支付核心系统无缝连接,实时获取交易数据,避免因数据延迟造成的财务误差。
核心设计逻辑
自动化记账:根据交易数据自动生成账目,利用ETL(Extract, Transform, Load)工具减少人工干预,提高效率。
试算平衡:保证账目在每个结算周期结束时的平衡,定期进行数据核对。
注意事项
定期进行财务审计,确保账目准确,及时发现并纠正错误。
确保系统的高可用性,防止因系统故障导致的财务数据丢失。
通过自动化记账和试算平衡功能的优化,能显著提升会计系统的效率、准确性和合规性。利用 ETL 工具进行数据管理,不仅降低了人工干预,还能提高交易处理的实时性。
2.2.2.7 渠道管理
聚道管理系统的主要作用是高效管理和优化支付渠道,集中管理信用卡、借记卡、电子钱包和银行转账等多种支付方式的接入、配置与切换。系统实时监控交易状态,及时处理异常交易以保障资金安全,并分析交易数据提供决策支持。根据实时交易情况,自动切换支付渠道,提高交易成功率和用户体验。
聚道管理系统的主要作用是高效管理和优化支付渠道,集中管理信用卡、借记卡、电子钱包和银行转账等多种支付方式的接入、配置与切换。系统实时监控交易状态,及时处理异常交易以保障资金安全,并分析交易数据提供决策支持。根据实时交易情况,自动切换支付渠道,提高交易成功率和用户体验。
第三方支付中,支付宝和微信支付是主要选择,占交易量的90%以上,便于用户授权支付,无需绑卡。银联则便于与银行对接,但需要用户绑卡,可能导致部分用户流失。银联快捷支付较简单,而网银支付较复杂,接入需ADSS认证。根据2024年数据,中国共有4425家金融机构,银行对接预计耗时3周,且多需专线接入,每年成本在几万元。手机支付如苹果的In-App支付和华为支付,特定于某些手机型号,需根据业务需求接入。
03
系统预告
支付系统下:主题是支付链路优化、对账系统的设计
支付系统是一个繁杂的系统,其中涉及了各种错综复杂的业务流程,以上只是简单介绍了支付系统我们能看见的一些问题和设计,还有后续的系统保障没有写出来,没写出来的才是关键部分,比如:支付系统监控(业务监控分类、渠道监控、商户监控、账户监控)。文章只是引子, 架构不是静态的,而是动态演化的。只有能够不断应对环境变化的系统,才是有生命力的系统。所以即使你掌握了以上所有的业务细节,仍然需要演化式思维,在设计的同时,借助反馈和进化的力量推动架构的持续演进。
作者介绍
江湖人称“山哥”,腾讯云架构师技术同盟名人堂专家、“技术方舟”主理人,专注于人工智能、互联网金融和大型电商领域,拥有丰富的架构设计和开发经验,擅长大模型调优及智能体搭建,精通TensorFlow和PyTorch等深度学习框架,具备全面的技术选型与实施能力,为企业提供高效、稳定的技术解决方案。
-End-
原创作者|李伟山
感谢你读到这里,不如关注一下?👇
📢📢来领开发者专属福利!点击下方图片直达👇
对于支付系统系列文章,你还有哪些想了解的技术细节点?欢迎评论留言补充。我们将选取1则优质的评论,送出腾讯云定制文件袋套装1个(见下图)。7月16日中午12点开奖。