#單錢包流程
本文檔描述了單一錢包模式的流程,包括使用者餘額流程、投注流程、付款流程和取消回合流程。
#目錄
#取得使用者餘額
_描述PetaX應用程式請求使用者餘額時的底層流程。 _
sequenceDiagram
participant App as PetaX 應用
participant SW as PetaX 服務
participant Merchant as 商戶
App->>+SW: 取得餘額
SW->>+Merchant: (1) 呼叫商戶 API 取得使用者餘額
Merchant-->>-SW: 回傳餘額結果
SW-->>-App: 回傳餘額結果
(1) Call merchant API to get user balance:取得使用者餘額API規格
#投注
_描述使用者下注時的底層流程。 _
graph TD
A[使用者下注] --> B["(1) 呼叫商戶 API 取得使用者餘額"]
B --> C{餘額充足?}
C -->|否| D[拒絕並通知遊戲客戶端]
C -->|是| E["(2) 呼叫商戶 API 扣減餘額"]
E --> F{扣減餘額成功?}
F -->|否| G[拒絕並通知遊戲客戶端]
F -->|是| H[更新 PetaX 系統中的遊戲與使用者狀態]
H --> I{更新成功?}
I -->|否| J["(3) 因系統錯誤呼叫商戶 API 退款給使用者"]
I -->|是| K[通知遊戲客戶端]
(1) Call merchant API to get user balance:取得使用者餘額API規格(2) Call merchant API to decrease balance:扣除權益API規格(3) Call merchant API to refund the user due to a system error:錯誤投注API規格
#支付
_描述使用者贏得賭注時的基本過程。 _
sequenceDiagram
participant U as 使用者
participant P as PetaX 服務
participant M as 商戶
Note over U,P: 使用者贏得一筆投注
P->>M: (1) 呼叫 /payout API 增加使用者餘額
M-->>M: 增加使用者餘額(內部狀態)
alt API 呼叫成功
M-->>P: 接受請求
P->>U: 通知使用者新的餘額
end
(1) Call /payout API to increase user balance:付款API規格。如果API失敗,PetaX服務將在10ms後嘗試重試,最多3次。
#取消回合
_描述賭場觸發取消回合事件時的底層流程。 _
sequenceDiagram
participant U as 使用者
participant DS as 賭場
participant P as PetaX 服務
participant M as 商戶
DS->>P: 觸發取消回合事件
P->>M: (1) 呼叫 API /cancel-bet
M-->>M: 退還使用者餘額(內部狀態)
alt 退款成功
M->>P: 回傳新的使用者餘額
P->>U: 通知使用者取消回合與退款事件
end
(1) Call API /cancel-bet:取消投注API規格。如果API失敗,PetaX服務將在10ms後嘗試重試,最多3次。