移動聚合支付平臺設計邏輯
在移動互聯網路技術逐漸成熟和移動網際網路應用快速發展的環境下,移動網際網路的收費通道和計費使用者體驗佔有舉足輕重的地位。對於移動網際網路企業,快速的收入和回報有利於企業長期和穩定的發展;對於服務和應用的使用者而言,方便快捷的支付方式和支付體驗有利於提高使用者對移動網際網路的支援和擁護,更加有利於移動網際網路的快速發展。因此,聚合手機支付平臺需要解決以下問題。
1.相容性強
支援市面上各種主流支付方式,且易於擴充套件支援新支付方式,從而提高企業利潤,且給使用者較好的體驗。
(1)統一支付介面,降低維護成本
將各種主流的支付方式聚合成統一的支付介面,實現支付方式的擴充套件和調整,對於內容開發商“透明”化,能降低內容提供商的開發與維護成本。
(2)支援不同支付場景
不同內容提供商存在不同支付場景,如:關卡型支付(又稱解鎖型支付)、包次型支付、包時長型支付和道具型支付。關卡型支付指使用者需要購買商品一次,且購買後始終有效;包次型支付指使用者購買商品成功後系統會生成契約,在契約次數內發起的購買不會重複扣費且契約數會減一,但超過契約次數後的購買需要重新扣費;包時長型支付指使用者購買商品成功後系統會生成契約,在契約有效時間內發起的購買不會重複計費,但超過契約有效期的購買需要重複扣費;道具型支付指使用者可以重複購買,且每次購買均需要扣費。
(3)完善的查詢管理平臺
能管理內容提供商基本資訊,能方便地查詢每個使用者每筆訂單的資訊,能統計每種支付方式的資料,從而協助分析使用者的支付行為等。
2.總體設計
根據聚合支付平臺的需求,採用混合模式(C/S、B/S 結合),將聚合支付平臺分為三個子系統:客戶端子系統、平臺介面子系統和平臺管理子系統,如圖所示。
(1)客戶端管理子系統
提供標準化聚合支付平臺 SDK(Android 手機平臺是 Jar 包, IOS 手機平臺是靜態庫)。其SDK提供Init和Pay兩個介面,Init介面獲取伺服器預設引數,Pay介面通過支付大廳介面聚合了SP計費、銀聯計費、支付寶計費、財付通計費和充值卡計費多種方式,每種計費方式均和平臺介面子系統互動,通過統一的Pay介面聚合了所有手機支付方式,方便使用與擴充套件。
(2)平臺介面子系統
提供各種支付方式的平臺介面(採用 C/S 模式)和支付資料同步介面(採用 B/S 模式),具體包括:Init初始化介面、SP支付介面、銀聯支付介面、支付寶支付介面、財付通支付介面和充值卡支付介面。所有介面協議均基於HTTP協議,在HTTP自定義頭中新增應用ID資料,Post的資料採用私鑰Key加密,伺服器通過應用ID,查詢其私鑰Key並解密,伺服器返回的資料也用此Key加密,從而保證支付過程安全。除了 SP 計費和充值卡計費使用者付款過程在支付大廳,其餘支付方式均通過其官方APP付款(如:手機支付寶客戶端),不僅最大限度支援使用者支付習慣且保障安全。
(3)平臺管理子系統
主要負責對於平臺介面子系統產生或使用的資料起到可配置管理後臺作用,提供了內容提供商管理、SP商管理、財務管理、查詢管理和訂單管理模組,採用B/S模式實現。其中,內容提供商管理模組負責 CP 的賬號、應用ID、應用金鑰Key、應用商品資訊等管理;SP商管理模組負責SP商資訊、SP計費資訊等管理;財務管理模組負責上游和下游支付流水與賬單結算管理;查詢管理模組負責各種支付方式、支付行為、支付使用者和支付時段查詢與統計管理;訂單管理模組負責每個訂單資訊查詢管理;手機客戶端管理模組負責使用聚合支付平臺的手機型號、使用時間、使用地域、網路狀況等資訊管理。
介面管理子系統和平臺管理子系統間操作的資料庫分別是主資料庫和備份資料庫,這樣既能熱備份資料庫,且能實現讀/寫分離,從而提高平臺效能。