我們一起聊聊大會員交易系統(tǒng)建設(shè)
前言
在數(shù)字化浪潮席卷的當(dāng)下,業(yè)務(wù)的高效運營與創(chuàng)新發(fā)展離不開強大的技術(shù)支撐。對于各類線上業(yè)務(wù)而言,交易系統(tǒng)作為連接用戶與服務(wù)的關(guān)鍵樞紐,其成熟度與完整性直接決定了業(yè)務(wù)的競爭力。一套卓越的交易系統(tǒng),不僅是業(yè)務(wù)流程的數(shù)字化載體,更是提升運營效率、優(yōu)化用戶體驗、推動業(yè)務(wù)創(chuàng)新的核心驅(qū)動力。大會員業(yè)務(wù)精心打造的交易系統(tǒng),正是這樣一個集高效、靈活、穩(wěn)定于一身的強大平臺,它以模塊化的架構(gòu)、先進的技術(shù)組件和完善的功能體系,為業(yè)務(wù)的持續(xù)增長和生態(tài)的繁榮發(fā)展奠定了堅實基礎(chǔ)。
系統(tǒng)架構(gòu)全景洞察
大會員交易系統(tǒng)采用模塊化設(shè)計理念,將復(fù)雜的交易流程拆解為交易、訂單、簽約、商品及清結(jié)算等多個核心模塊。這些模塊既相互獨立又緊密協(xié)同,共同驅(qū)動著整個交易鏈路的順暢運轉(zhuǎn),構(gòu)建起一個高效、靈活且易于維護的系統(tǒng)架構(gòu),確保系統(tǒng)能夠快速響應(yīng)業(yè)務(wù)需求的變化,為業(yè)務(wù)的創(chuàng)新發(fā)展提供有力支持。
因我們本身所屬業(yè)務(wù)的特性,所以設(shè)計的交易系統(tǒng)可能跟傳統(tǒng)電商的交易系統(tǒng)不同,更適配虛擬物品相關(guān)的業(yè)務(wù)。
核心流程深度解析
交易系統(tǒng)的核心流程從用戶下單的那一刻開始啟動,訂單作為貫穿始終的關(guān)鍵紐帶,串聯(lián)起支付、履約、退款等各個環(huán)節(jié)。在這個過程中,訂單系統(tǒng)負責(zé)維護交易狀態(tài)、管理交易生命周期,與商品系統(tǒng)、支付系統(tǒng)、營銷系統(tǒng)以及清結(jié)算系統(tǒng)緊密配合,共同完成整個交易流程。每一個環(huán)節(jié)都經(jīng)過精心設(shè)計和嚴格把控,確保交易的順利進行和數(shù)據(jù)的安全可靠。
架構(gòu)設(shè)計實踐
系統(tǒng)架構(gòu)圖
圖片
核心流程示例
交易系統(tǒng)的核心流程始于用戶下單,訂單貫穿支付、履約、退款等環(huán)節(jié)。訂單系統(tǒng)負責(zé)維護交易狀態(tài)和生命周期,與商品系統(tǒng)、支付系統(tǒng)、營銷系統(tǒng)、清結(jié)算系統(tǒng)協(xié)同完成整個交易的流程。
圖片
核心技術(shù)組件說明
交易配置
1.業(yè)務(wù)身份管理
業(yè)務(wù)身份管理為每個業(yè)務(wù)分配唯一 ID,該 ID 在整個訂單、支付和結(jié)算鏈路中貫穿始終,為每個業(yè)務(wù)頒發(fā)了一張專屬 “身份證”,憑借這一 ID,不同業(yè)務(wù)的數(shù)據(jù)得以相互隔離且可精準追蹤,有力保障了業(yè)務(wù)管理的清晰性和數(shù)據(jù)的完整性。
2.支付中樞配置
支持靈活選擇支付渠道和優(yōu)先級,能夠根據(jù)業(yè)務(wù)需求和用戶偏好,快速切換和調(diào)整支付渠道順序。
同時,通過管理支付協(xié)議模板,實現(xiàn)前端展示與不同支付需求的快速適配。
3.風(fēng)險控制
通過風(fēng)控控制通過主動防御(如黑名單)和智能攔截機制(如惡意退款),識別并阻止異常交易,保障支付安全。
訂單服務(wù)
訂單服務(wù)涵蓋交易流程編排、業(yè)務(wù)數(shù)據(jù)管理和交易數(shù)據(jù)安全。它維護訂單從創(chuàng)建到完結(jié)的全生命周期,通過狀態(tài)機模式管理訂單狀態(tài)流轉(zhuǎn),支持超時取消和自動確認等規(guī)則。訂單系統(tǒng)提供實時數(shù)據(jù)查詢和業(yè)務(wù)指標分析,借助分布式事務(wù)保障數(shù)據(jù)一致性,通過分級隔離的熔斷降級機制應(yīng)對流量洪峰,建立自動化對賬體系防控資金風(fēng)險。
1. 交易流程編排
交易場景中,訂單的生命周期分為:
- 訂單創(chuàng)建:即用戶觸發(fā)購買后生成新的訂單
 - 用戶支付:按照商品價格營銷策略計算的支付相應(yīng)金額
 - 訂單履約:購買的商品(權(quán)益)的下發(fā)
 - 訂單完結(jié):交易完成后訂單完成
 - 訂單退款:出現(xiàn)退款,訂單需要退回支付金額,商品(權(quán)益)觸發(fā)回收
 - 訂單關(guān)單:支付失敗關(guān)單,超時關(guān)閉訂單,用戶取消關(guān)閉訂單
 
訂單系統(tǒng)負責(zé)維護上述生命周期,通過狀態(tài)機模式流轉(zhuǎn)訂單狀態(tài),并且支持訂單的超時取消合自動確認等規(guī)則,配合上下游其他系統(tǒng)提供完整的訂單服務(wù)。
2. 業(yè)務(wù)數(shù)據(jù)管理
訂單提供了完成的交易數(shù)據(jù)管理能力,提供了實時的訂單數(shù)據(jù)查詢服務(wù),以及業(yè)務(wù)的數(shù)據(jù)指標的分析。
3. 交易數(shù)據(jù)安全
- 通過分布式事務(wù)保障數(shù)據(jù)一致性
 - 實施分級隔離的熔斷降級機制抵御流量洪峰
 - 建立自動化對賬體系防控資金風(fēng)險
 
4.訂單事件驅(qū)動的狀態(tài)機引擎
訂單的狀態(tài)管理采用了事件驅(qū)動有限狀態(tài)機的設(shè)計模式,通過事件訂閱訂單的狀態(tài)流轉(zhuǎn):
圖片
簽約服務(wù)
負責(zé)訂閱類業(yè)務(wù)的簽約管理,例如包月充電業(yè)務(wù),可以為業(yè)務(wù)提供連續(xù)包月的簽約對接能力,為付費業(yè)務(wù)提供更多的運營方案。
1.簽約及續(xù)費處理流程
用戶下簽約單后,訂單會觸發(fā)簽約系統(tǒng)執(zhí)行簽約邏輯,向支付中心創(chuàng)建簽約單,并維護簽約狀態(tài)
圖片
2.可擴展的簽約服務(wù)設(shè)計
對于簽約的業(yè)務(wù),需要定時的完成續(xù)約、扣款、解約以及用戶的簽約狀態(tài)維護簽約系統(tǒng)。
簽約系統(tǒng)可分業(yè)務(wù)、分片的定時完成自動化的續(xù)約、扣款、和解約,以及用戶的簽約狀態(tài)的維護。
抽象出簽約和扣款接口,接入的訂閱類業(yè)務(wù)只需實現(xiàn)業(yè)務(wù)邏輯即可接入簽約續(xù)費能力。
圖片
3.簽約數(shù)據(jù)一致性處理
簽解約流程設(shè)計遵循冪等性原則,同時,通過上下游數(shù)據(jù)對賬,確保簽約數(shù)據(jù)與訂單、支付渠道的續(xù)費信息保持高度一致,保障簽約數(shù)據(jù)的準確性和完整性。
商品系統(tǒng)
商品系統(tǒng)解決了交易系統(tǒng)中“買什么”的能力,交易系統(tǒng)中的具體交易實體我們稱為“商品”,實際表現(xiàn)上單個商品就是一個SKU,用戶下單購買的實體則是一個具體的SKU,歸于同一個組的商品集合為一個SPU
1.商品信息展示與管理
商品系統(tǒng)是平臺展示商品信息的核心模塊,負責(zé)存儲和呈現(xiàn)商品的基本屬性、圖片、描述、規(guī)格參數(shù)等內(nèi)容,提供了商品以及商品屬性的配置能力,為消費者提供全面的商品認知,幫助其做出購買決策。
2.交易基礎(chǔ)支撐
在整個交易流程中,商品系統(tǒng)為訂單生成、支付結(jié)算、庫存管理等環(huán)節(jié)提供關(guān)鍵數(shù)據(jù)支持。準確的商品價格、庫存數(shù)量等信息是保障交易順利進行的基礎(chǔ),直接影響到訂單的有效性和消費者的體驗。
3.營銷活動支持
商品系統(tǒng)與營銷系統(tǒng)緊密配合,實現(xiàn)各種促銷活動的配置和執(zhí)行。通過對商品進行折扣、滿減、贈品等活動設(shè)置,激發(fā)消費者的購買欲望,提高商品銷量和平臺銷售額。
4.定制化的商品配置
商品除了基礎(chǔ)的屬性規(guī)則等配置,應(yīng)對虛擬物品的不確定性,以及內(nèi)部各業(yè)務(wù)的差異性,實現(xiàn)了定制屬性規(guī)則,以及適配我們的交易系統(tǒng)的商品特殊綁定的交易規(guī)則,清分規(guī)則,結(jié)算規(guī)則配置。
清結(jié)算系統(tǒng)
正常的交易流程走完之后,用戶視角下,消費流程已經(jīng)完結(jié);清結(jié)算則是業(yè)務(wù)視角下的后續(xù)流程,售賣的商品被用戶購買之后,平臺需要對收益進行結(jié)算,并對商品的供應(yīng)商或者擁有者進行分成,清結(jié)算系統(tǒng)是大會員交易系統(tǒng)中負責(zé)處理交易完成后資金分配和結(jié)算的關(guān)鍵模塊,它確保了平臺和各方合作伙伴在交易中的收益能夠準確、及時地進行計算和分發(fā)。
清分系統(tǒng):交易?額按預(yù)定?例拆解,為結(jié)算做準備。每筆交易的收益將根據(jù)協(xié)議分配到相應(yīng)的分成?。
結(jié)算系統(tǒng):清分數(shù)據(jù)準備完畢后,結(jié)算系統(tǒng)根據(jù)結(jié)算周期,計算每個分成?的應(yīng)得?額,并將資?轉(zhuǎn)?相應(yīng)賬戶。
這里以一個簡化的例子快速解釋一下清結(jié)算的概念。

按照上圖描述,一筆消費完成之后,會先由清分將消費分為多方的分成,再由結(jié)算按照結(jié)算周期進行計算,并且按照對應(yīng)的打款方式將收益轉(zhuǎn)移到對應(yīng)的分成方的賬戶中。
了解了清結(jié)算的基礎(chǔ)概念之后,下面來具體聊一下我們是如何實現(xiàn)整個清分-結(jié)算的流程的。
1.清分系統(tǒng)
- 清分系統(tǒng)支持多種數(shù)據(jù)源接入,不同的業(yè)務(wù)數(shù)據(jù)通過標準化的數(shù)據(jù)接口和數(shù)據(jù)解析,將各類數(shù)據(jù)源的數(shù)據(jù)轉(zhuǎn)化為系統(tǒng)可識別和處理的格式,為后續(xù)的清分計算提供統(tǒng)一的數(shù)據(jù)基礎(chǔ)。例如,它可以同時接入大會員業(yè)務(wù)、裝扮業(yè)務(wù)等不同業(yè)務(wù)板塊的交易數(shù)據(jù),并將其進行整合處理。
 - 清分規(guī)則支持高度個性化的配置,以滿足不同業(yè)務(wù)場景和合作模式的需求。通過配置清分執(zhí)行器鏈表,系統(tǒng)能夠按照特定順序?qū)I(yè)務(wù)數(shù)據(jù)進行精確的清分計算。清分執(zhí)行器是實現(xiàn)清分規(guī)則的核心組件,它可以根據(jù)業(yè)務(wù)需求進行定制開發(fā)。例如,在涉及多方分成的場景中,清分執(zhí)行器可以根據(jù)不同的分成比例、優(yōu)先級等規(guī)則,對交易金額進行準確的拆分。
 
清分執(zhí)行器實現(xiàn)
圖片
通過實現(xiàn)不同的清分策略可以配置各種不同的清分執(zhí)行器,來滿足不同的業(yè)務(wù)分成訴求。
整體清分流程
圖片
在進行清分時,系統(tǒng)首先會獲取需要清分的交易數(shù)據(jù),這些數(shù)據(jù)可能來自于交易系統(tǒng)的實時推送,也可能是定時從數(shù)據(jù)庫中獲取的批量數(shù)據(jù)。然后,根據(jù)預(yù)設(shè)的清分規(guī)則匹配相應(yīng)的清分執(zhí)行器。匹配成功后,運行清分執(zhí)行器對數(shù)據(jù)進行計算,計算過程中會考慮到各種因素,如不同業(yè)務(wù)的分成比例、是否有運營獎懲等。計算完成后,得到清分結(jié)果并將其落庫存儲,以便后續(xù)結(jié)算系統(tǒng)使用。在這個過程中,系統(tǒng)會對每一步操作進行記錄和監(jiān)控,確保清分過程的準確性和可追溯性。
2.結(jié)算系統(tǒng)
結(jié)算系統(tǒng)結(jié)算系統(tǒng)通過訂閱清分數(shù)據(jù),即可實現(xiàn)結(jié)算指定分成方的分成的匯總結(jié)算:
- 結(jié)算系統(tǒng)支持到了最小時間粒度為天,最小實體粒度為SPU的結(jié)算
 - 接入了裝扮&收藏集&充電+和單片充電多個業(yè)務(wù)的結(jié)算
 - 商品SPU緯度或者mid緯度可通過結(jié)算規(guī)則的綁定對公或者對私結(jié)算方式
 - 通過對私結(jié)算和財務(wù)系統(tǒng)滿足的業(yè)務(wù)的對公&對私打款,實現(xiàn)了合作方的打款流程線上化
 
圖片
前端
統(tǒng)一營收支付SDK
這是連接用戶與交易系統(tǒng)的重要橋梁,集成了通用支付業(yè)務(wù)的各項功能。它提供支付全流程服務(wù),包括根據(jù)商品信息和用戶選擇生成訂單、調(diào)用支付渠道接口發(fā)起支付請求、通過輪詢實時獲取支付結(jié)果以及處理支付超時、失敗等異常情況。同時,封裝了通用 UI 組件庫,包含商品信息展示、商品數(shù)量選擇、支付渠道選擇、支付協(xié)議確認、支付按鈕等模塊。業(yè)務(wù)方可以根據(jù)自身需求,靈活組合這些模塊,定制個性化的支付面板,也可以直接使用現(xiàn)成的通用支付面板,快速接入支付功能。
活動類業(yè)務(wù)可通過配置實現(xiàn)全鏈路接入;定制業(yè)務(wù)可通過模塊化、插件化開發(fā)適配不同需求。
圖片
圖片
圖片
圖片
支付sdk分層設(shè)計架構(gòu)圖:
圖片
支付SDK:收斂通用支付業(yè)務(wù),提供支付鏈路全流程SDK
- 訂單創(chuàng)建:根據(jù)商品信息和用戶選擇生成訂單。
 - 支付發(fā)起:調(diào)用支付渠道接口發(fā)起支付請求。
 - 輪詢支付結(jié)果:通過輪詢實時獲取支付結(jié)果,確保支付狀態(tài)同步。
 - 異常處理:處理支付超時、失敗等異常情況,提供友好的用戶提示。
 
通用 Headless UI 組件庫:商品信息展示、商品數(shù)量選擇、支付渠道選擇、支付協(xié)議確認、支付按鈕等模塊。
開箱即用的解決方案:可以結(jié)合業(yè)務(wù)需求, 靈活組合支付模塊,實現(xiàn)面板的完全定制,也可以使用開箱即用的通用支付面板。
業(yè)務(wù)接入
活動類新業(yè)務(wù)接入
交易系統(tǒng)0開發(fā)量全鏈路通過配置,客戶端適配sdk后,可實現(xiàn)全流程的商品展示,下單支付,發(fā)放業(yè)務(wù)權(quán)益
已有其他業(yè)務(wù)接入
1. 業(yè)務(wù)適配評估階段
異構(gòu)系統(tǒng)兼容性分析
需對存量業(yè)務(wù)進行全量接口掃描(如訂單創(chuàng)建、支付回調(diào)、權(quán)益發(fā)放),識別與標準交易協(xié)議差異點(如字段缺失、異步流程阻塞)
數(shù)據(jù)模型映射改造
新老系統(tǒng)數(shù)據(jù)兼容,歷史數(shù)據(jù)差異清洗處理
2. 前端支付面板適配
通用支付面板適用場景:適用于對支付面板UI樣式無深度定制需求的場景。
- 接入方式:通過npm包 @bilibili/ogv-basic-cashier 快速接入。
 - 核心能力:
 
a.靈活配置:支持通過配置動態(tài)開啟或關(guān)閉部分支付面板功能。
b.主題化支持:內(nèi)置多套通用主題,可輕松切換,滿足不同場景的視覺需求。
- 推薦場景:適合追求快速接入、功能標準化且無需復(fù)雜UI定制的項目。
 - 定制支付面板適用場景:當(dāng)通用支付面板無法滿足個性化需求時,可選擇定制支付面板。
 - 接入方式:基于原子化的 headless UI 組件庫,自由組合面板視圖。
 - 核心能力:
 
a.高度定制化:支持深度定制UI樣式與業(yè)務(wù)邏輯,滿足個性化需求。
b.支付邏輯解耦:開發(fā)者只需專注于UI設(shè)計與交互,底層支付邏輯由系統(tǒng)自動處理。
- 推薦場景:適合需要高度定制化UI或特殊業(yè)務(wù)邏輯的項目。
 - 特殊支付流程
 - 適用場景:當(dāng)通用和定制支付面板均無法滿足需求時,可選擇特殊支付流程。
 - 接入方式:通過npm包 @bilibili/ogv-quick-pay 接入,直接調(diào)用底層支付鏈路。
 - 核心能力:
 
a.底層鏈路開放:提供底層支付能力,支持完全自定義支付流程。
b.極致靈活性:開發(fā)者可完全掌控支付邏輯,適配復(fù)雜或特殊業(yè)務(wù)場景。
- 推薦場景:適合需要完全自定義支付流程或處理特殊支付邏輯的項目。
 
3. 服務(wù)端遷移技術(shù)難點
核心鏈路灰度策略
- 入口灰度隔離,保證一單請求只會走單一鏈路
 - 采用四層灰度機制:功能開關(guān) → 白名單放量 → 比例灰度 → 全量切換
 - 訂單數(shù)據(jù)兼容方案:新老系統(tǒng)并行處理,通過分布式鎖確保冪等性
 - 訂單下游業(yè)務(wù)支持2個系統(tǒng)的數(shù)據(jù)兼容處理
 - 離線數(shù)倉數(shù)據(jù)底表兼容,各類數(shù)據(jù)統(tǒng)計、BI報表
 
業(yè)務(wù)系統(tǒng)兼容適配
- 交易相關(guān)交互接口的兼容實現(xiàn)
 - 訂單數(shù)據(jù)的兼容處理
 
總結(jié)
一致性、穩(wěn)定性
1.數(shù)據(jù)庫事務(wù)控制
- 通過數(shù)據(jù)庫事務(wù)機制,確保數(shù)據(jù)操作具備原子性、一致性、隔離性和持久性,保障系統(tǒng)數(shù)據(jù)的完整性和準確性。交易中多表操作由事務(wù)管理,異常時回滾避免數(shù)據(jù)錯誤。
 
2.分布式鎖機制
- 在分布式系統(tǒng)環(huán)境下,采用分布式鎖機制,防止多進程或線程同時操作同一數(shù)據(jù),避免數(shù)據(jù)沖突和不一致。如在高并發(fā)訂單處理場景中保障訂單狀態(tài)更新準確。
 
3.冪等性設(shè)計
- 系統(tǒng)遵循冪等性原則,多次執(zhí)行同一操作結(jié)果相同,避免因網(wǎng)絡(luò)問題或重復(fù)提交導(dǎo)致數(shù)據(jù)錯誤和重復(fù)操作,如支付場景中防止重復(fù)扣款。
 
4.對賬系統(tǒng)
- 建立自動化對賬體系,定期核對訂單數(shù)據(jù),及時發(fā)現(xiàn)和處理數(shù)據(jù)不一致問題,防控資金風(fēng)險,確保訂單準確性和安全性。
 
5.超時異常補償任務(wù)
- 針對系統(tǒng)異常,設(shè)計補償任務(wù)機制,減少異常對業(yè)務(wù)和用戶的影響。如系統(tǒng)故障導(dǎo)致履約失敗時,為用戶退還費用或提供補償。
 
6.分級的限流策略
- 根據(jù)不同付費場景,對請求進行隔離,為不同業(yè)務(wù)方配置限流保護,確保系統(tǒng)在高流量下穩(wěn)定運行。
 
展望
系統(tǒng)架構(gòu)優(yōu)化:
持續(xù)優(yōu)化系統(tǒng)架構(gòu),采用更先進的技術(shù)架構(gòu)和設(shè)計理念,提高系統(tǒng)的性能、擴展性和可維護性。
創(chuàng)新業(yè)務(wù)模式:
結(jié)合市場需求和技術(shù)發(fā)展趨勢,探索創(chuàng)新業(yè)務(wù)模式和產(chǎn)品服務(wù),滿足業(yè)務(wù)多樣化的需求。
構(gòu)建生態(tài)系統(tǒng):
構(gòu)建開放、共享、協(xié)同的交易生態(tài)系統(tǒng),整合上下游資源,實現(xiàn)各方協(xié)同發(fā)展和價值共創(chuàng)。
本文全面呈現(xiàn)了大會員交易系統(tǒng)的建設(shè)情況,涵蓋架構(gòu)設(shè)計、核心模塊實現(xiàn)、穩(wěn)定性保障,為同類系統(tǒng)建設(shè)提供部分參考。















 
 
 


















 
 
 
 