<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          聚合支付如何設計

          共 2351字,需瀏覽 5分鐘

           ·

          2021-08-06 01:23

          不點藍字,我們哪來故事?

          每天 11 點更新文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領!》

          來源:blog.csdn.net/liuzhirou1/

          article/details/117649569

          • 一、項目目標
          • 二、具體調用流程
          • 三、支付中心架構設計
            • 收銀臺
            • 渠道網關
            • 交易核心
          • 四、目前預見的可能的問題

          一、項目目標

          支付中心架構將各業(yè)務的公共交易、支付、財務等沉淀到支付中心,并主要解決了以下三個主要問題:

          1. 建立基礎訂單、支付、財務統(tǒng)一體系,抽象和封裝公共處理邏輯,形成統(tǒng)一的基礎服務,降低業(yè)務的接入成本 及重復研發(fā)成本;
          2. 構建安全、穩(wěn)定、可擴展的系統(tǒng),為業(yè)務的快速發(fā)展和創(chuàng)新需求提供基礎支撐,解決業(yè)務「快」和支付「穩(wěn)」之間的矛盾;
          3. 沉淀核心交易數(shù)據(jù),同時為應用端、物業(yè)公司、用戶提供數(shù)據(jù)支撐。

          二、具體調用流程

          在目標的指導下,我向集采、o2o、收費易三個項目組的相關開發(fā)咨詢了業(yè)務邏輯,再結合我們自己的業(yè)務場景調整了支付中心調用流程和兩個注意點

          • 首先我們來看一下支付中心的調用過程。業(yè)務系統(tǒng)、支付中心和第三方通道的交互流程圖如下:

          各系統(tǒng)交互流程為:

          1. 物業(yè)公司開通第三方支付渠道商戶,并獲取第三方支付參數(shù)
          2. 物業(yè)公司將第三方支付參數(shù)提供給支付中心,開通商戶號,開通支付渠道,獲取商戶標識和支付標識。
          3. 物業(yè)公司將商戶標識和支付標識提供給應用端。

          至此,物業(yè)公司注冊流程完畢。接下來是支付流程。

          1. 應用端使用物業(yè)公司提供的商戶標識和支付標識,以及必備的支付訂單號,支付金額,調起方式,上送至支付中心。
          2. 支付中心將獲取的標識解析到對應的參數(shù),并整合應用端的請求參數(shù),向第三方支付發(fā)起支付,并獲取支付發(fā)起的結果。
          3. 支付中心將發(fā)起結果整合后直接返回給應用端,注意,這里只是這個請求是否發(fā)起成功的通知,并不是最終支付結果的通知。
          4. 第三方支付調起用戶的支付或者跳轉收銀臺頁面、小程序調起用戶支付進行支付,第三方支付獲取到用戶的支付結果之后。回調通知支付中心。
          5. 支付中心處理數(shù)據(jù),并回調通知應用端。
          6. 應用端處理訂單信息,并開始訂單、通知用戶。

          注意:

          1. 訂單號問題,問題起因:有些應用系統(tǒng),使用訂單號上傳,有些使用自己系統(tǒng)中的流水號上傳并發(fā)起支付。所以這里設計如下:


            • 1)應用系統(tǒng)上送的無論是訂單號還是流水號,支付中心都不直接使用,而是進行記錄,并重新生成一個唯一的流水號,上送第三方支付。
            • (2)第三方支付會在校驗參數(shù)成功確認支付發(fā)起成功后,再返回由第三方支付生成的流水號,用于以后的賬單查詢,對賬,退款等功能。
            • (3)支付中心會保存三個流水、訂單號。方便以后調用、查詢。
            • (4)在收到第三方支付的調用返回時,支付中心會重組調用返回參數(shù),將應用上送的訂單號,支付中心生成的唯一流水號,第三方支付返回的流水號,一并返回應用端,建議應用端都進行保留。
          1. 這里還涉及到退款使用哪個號進行退款的問題,這里設計為:使用支付中心流水號判定使用哪一筆訂單退款。上送了支付中心生成的流水號后,根據(jù)流水號和商戶標識以及支付標識檢索出來的結果,進行退款,退款金額不可超過該筆流水號支付的金額。應用端可以根據(jù)業(yè)務需求自行選擇退款方式,支付中心只做和流水號相關的退款。

          2. 有關收銀臺,現(xiàn)在有些第三方支付存在自己的收銀臺,有的沒有,所以支付中心必須有自己的收銀臺,但同時如果第三方支付存在已有收銀臺也沒有必要跳轉兩次。所以這里的邏輯設計為:如果第三方存在必須跳轉的收銀臺,使用第三方收銀臺,其余情況直接使用支付中心收銀臺。

          三、支付中心架構設計

          目前的系統(tǒng)功能整體架構如下:

          如圖所示,從架構上主要分為四個大模塊:

          1. 支付中心后臺:主要是賬號管理相關,物業(yè)公司的開戶開通支付等提供支持
          2. 支付消息:主要是用于對應用端進行通知
          3. 交易核心:用來支撐整個系統(tǒng)的基礎交易核心,參數(shù)組裝發(fā)起,返回數(shù)據(jù)的處理,異常的處理和通知等。
          4. 渠道網關:解析應用端發(fā)送過來的請求,證書白名單的設置和使用,第三方api的調用等

          收銀臺

          渠道網關

          支付賬戶管理

          物業(yè)公司選擇自己所需的支付渠道進行開通,用戶選擇自己傾向的支付方式最后請求中由支付中心處理,收入對應的收款賬戶。

          request解析器

          一個請求在進入request解析器之后,首先解析支付標識,決定使用哪個支付插件(alipayPlugin, wechatPlugin, easyPlugin)其次解析調起方式(小程序,PC,APP)獲取可用的支付插件(alipaypaymentappexecutor,xxxexecutor)最后選擇方法(onpay waponpay refund)。

          交易核心

          交易核心的數(shù)據(jù)庫設計

          分賬資金流向

          四、目前預見的可能的問題

          1. 數(shù)據(jù)監(jiān)控:出現(xiàn)數(shù)據(jù)異常,或者報錯,及時在釘釘群里通知。
          2. 數(shù)據(jù)一致性問題:咱們的系統(tǒng)打算暫時只做一個模塊,應用端可以到支付中心來同步數(shù)據(jù)。
          3. 穩(wěn)定性問題,第三方支付不夠穩(wěn)定:主要是用戶可能會用微信支付失敗,又用支付寶支付。這個需要應用端進行監(jiān)控,支付中心對于提供的不同訂單號會實時發(fā)起支付。同一訂單號,連續(xù)發(fā)起兩次之間間隔不超過15秒。
          - END -

          往期推薦

          Lombok!代碼簡潔神器還是代碼“亞健康”元兇?

          Spring為什么建議使用構造器來注入?

          關于虛擬內存,你需要了解的一些概念

          Facebook 分享 MySQL 5.6 到 8.0 的遷移經驗

          下方二維碼關注我

          技術草根堅持分享 編程,算法,架構

          看完文章,餓了點外賣,點擊 ??《無門檻外賣優(yōu)惠券,每天免費領!》

          朋友,助攻一把!點個在看
          瀏覽 56
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  自慰高清无码 | 韩国毛片一级 | 欧美日韩在线观看中文字幕 | 免费全黄A片免费播放 | 69国精产品 |