本书是我的专栏《百图解码支付系统设计与实现》系列文章汇总整理并重新修订。汇集了我十多年支付系统架构设计的经验总结,以实战为导向,深入浅出讲解支付系统的架构设计与实现,涵盖基础概念、核心流程、核心子系统设计、核心技术专题等。这些知识点以实用为目标,可直接应用到日常研发设计中。 全书共18章,分为入门篇、核心子域设计篇、技术专题篇。入门篇(第1~10章)详细讲述支付系统涉及的基本概念,概要设计,核心流程。核心子域设计篇(第4~10章)深入地剖析支付系统各核心子域的架构设计精华。技术专题篇(第11~18章)介绍了一些支付系统领域内非常实用的最佳实践,这些技术还可以应用到非支付系统设计中。 书中通过采用大量手绘风格的图示来讲解专业领域的概念和设计思路,让大家更容易阅读和理解,达到“一图胜千言”的效果。虽然绘图对我而言是一大非常大的挑战,需要极强的抽象和表达能力,但我认为这种方式对于阐述支付系统的设计和实现至关重要。有时,我可能用一个小时就能撰写几千字的文章,但为了一幅能准确表达意思的图,却要花费好几个小时。 需要说明的是,所撰写的内容主要基于我个人的经验总结,并以实战为导向,但内容不会与任何特定公司的支付系统直接相关。同时,我努力使文章内容浅显易懂,但毕竟支付是一个高度专业的领域,难以涵盖所有细节。因此,建议有兴趣的读者也多参考其他优秀的书籍或资料。 本书适合初学者入门,同时书中很多设计思路对于想进一步提升架构设计能力的资深研发人员也很有参考价值,并可作为培训机构相关专业的教学参考书。 ### 图解收银台:支付系统承上启下的关键应用 #### 1. 前言 支付系统作为电子商务的核心组成部分,在现代社会扮演着至关重要的角色。随着电子支付方式的不断普及和发展,支付系统的架构设计变得越来越复杂且重要。在支付系统中,“收银核心”作为支付系统的门面之一,承担着处理用户支付请求的关键任务。本文将详细介绍收银核心的设计与实现,以及它在支付系统中的位置和作用。 #### 2. 协同作战 在支付系统内部,收银核心与支付引擎共同协作,确保每一笔交易都能够顺利进行。这两个子系统之间存在着紧密的联系,它们之间的高效协作是整个支付流程得以顺畅进行的基础。为了更好地理解这种合作关系,下面将通过一个简单的例子来进行说明: 想象一下,在一家精品咖啡店中,收银核心就像是那位亲切的服务员,不仅为顾客提供各种支付选项,还会验证顾客的身份,并确保顾客之前在店内留存的预存款可以正常使用。而在支付过程中,还会进行一系列的风控检查,确保支付安全。 #### 3. 收银核心:交易的智囊团 收银核心是支付系统中的关键组件之一,其主要职责是处理用户的支付请求。具体来说,收银核心的核心能力可以概括为两个方面: 1. **支付方式咨询**:向用户提供当前可用的支付方式。 2. **支付后的各种校验**:例如订单的有效性、商户权限、用户身份以及风控等。 #### 4. 收银核心在支付系统中的位置 收银核心处于支付系统的前端,是用户与支付系统交互的第一线。它的设计不仅要考虑用户体验,还要确保支付过程的安全性和稳定性。从整体架构上看,收银核心位于用户界面与支付引擎之间,起到了承上启下的作用。 #### 5. 支付咨询 支付咨询阶段是支付流程中的一个重要环节,主要包括以下几个步骤: 1. **基础检查**:确保订单尚未被支付、用户信息合法有效以及商户信息无误等。 2. **资产咨询**:查询用户的绑卡数据、账户余额以及是否有适用的优惠活动等。 3. **渠道咨询**:根据支付货币、金额大小及渠道开关状态等因素确定可用的支付渠道。 4. **额度咨询**:核实用户的单笔支付限额、日累计支付限额以及月累计支付限额等。 5. **支付方式组装**:整合上述信息,将支付方式以易于用户理解的形式呈现出来。 6. **支付方式排序**:根据用户的偏好以及营销策略对支付方式进行排序。 完成上述步骤后,支付方式会被返回给用户,供用户选择合适的支付方式进行支付。 #### 6. 支付受理 当用户选择了支付方式并点击“确认支付”按钮后,即进入支付受理阶段。这一阶段主要包括以下工作: 1. **重复支付咨询阶段的工作**:由于用户可能在支付方式展示后过了一段时间才进行支付,后台数据可能发生变动,如账户余额变化或订单过期等。 2. **风控行为**:对支付请求进行风险评估,确保交易安全。 3. **选择最优支付渠道**:如果是通过外部渠道支付,需要选择一条最优的支付路径。 4. **提交支付请求**:将支付请求发送至支付引擎进行实际扣款操作。 5. **轮询交易结果**:从收单平台获取最终的支付结果,确保支付成功。 需要注意的是,最终的支付结果需要从收单平台获取,而非支付引擎,这是因为收单平台的结果代表了最终的支付状态。例如,即使支付引擎显示支付成功,但如果收单平台因订单过期而关闭,则会提示用户:“订单已关闭,如果已经扣款,款项预计将在15个工作日内原路退回。” #### 7. 收银核心系统架构 收银核心系统的架构设计需要考虑到与多个外部系统的集成,主要包括: - **会员系统**:用于验证用户身份。 - **商户服务平台**:管理商户信息和服务。 - **卡中心**:处理银行卡相关的事务。 - **风控系统**:进行风险控制。 - **渠道网关**:连接不同的支付渠道。 - **支付引擎**:执行支付操作。 这些系统的紧密合作确保了支付流程的高效与安全。 #### 8. 收银核心领域模型 收银核心的领域模型主要包括以下几个方面: - **支付咨询**:向用户提供可用的支付方式及其相关信息。 - **支付受理**:处理支付请求,包括风险评估和支付渠道选择。 - **风控挑战并支付**:确保支付过程的安全性。 - **外部依赖**:如会员系统、商户服务平台、卡中心、风控系统、渠道网关和支付引擎等。 这些组成部分构成了收银核心的核心功能,确保了支付流程的顺利进行。 #### 9. 常见支付方式 在支付系统中,提供了多种支付方式以满足不同用户的需求,包括但不限于: 1. **快捷支付**:用户提前在支付系统中绑定银行卡信息,以便快速完成支付交易,无需每次输入完整的卡详情。 2. **代扣/协议支付**:用户授权商户直接从支付平台或银行扣款,无需用户参与支付过程。例如水电煤气费代扣、打车软件的自动扣款等。 3. **卡支付**:使用信用卡或借记卡进行支付。 4. **网银支付**:跳转至银行提供的支付页面,输入银行账户信息完成支付。 5. **VA支付**(Virtual Account):银行为用户订单生成临时虚拟账户,用户通过线下转账完成支付。适用于东南亚地区或国际收款场景。 6. **OTC支付**(Over-the-Counter):通过大型连锁零售商提供的支付能力完成支付。与VA支付类似,但通常由零售商提供支付服务。 这些支付方式的多样性为用户提供了一个更加便捷、安全的支付环境,同时也为企业提供了更多的选择,以满足不同场景下的支付需求。 通过以上对收银核心的设计与实现的详细介绍,我们可以看出,收银核心不仅承载着处理支付请求的重要任务,还涉及到支付系统内部多个子系统之间的复杂协作。在实际应用中,收银核心的设计需要综合考虑用户体验、安全性以及系统的稳定性等多个因素,以确保支付过程既方便又安全。
剩余10页未读,继续阅读
- 粉丝: 981
- 资源: 21
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助