錢包系統 – System Requirements Analysis

功能性需求

  • 錢包註冊:新用戶會自動分配一個專屬錢包。
  • 餘額查詢:用戶可以查詢當前餘額。
  • 交易付款:驗證交易資訊並扣款完成交易。
  • 交易記錄:儲存每個錢包的交易記錄,提供後續查詢。
  • 凍結錢包:若使用者帳戶存在問題,可以手動凍結用戶錢包。

安全性

  • 確保錢包的主人為該使用者,才能進行後續扣款交易。
  • 當收到交易資訊時會先凍結餘額資金,防止因時差造成餘額不同的問題。
  • 創建錢包時,檢查用戶錢包數量是否超過上限 (目前只限制一個用戶只有一個錢包)。
  • 紀錄異常資訊 log,方便開發者做後續問題分析。

非功能性需求

  • 可用性:服務高效能,並確保整體業務邏輯正常運作。
  • 安全性:通訊實作 TLS 加密,API 透過 Token 與 HMAC 驗證。

可加入內容

  • API 加入可切換 JWT 驗證,在 Intranet 中不用使用;在 Extranet 可以開啟