Skip to main content
一個 Fluz 錢包包含兩部分:一組持有價值的餘額,以及一組連結到外部帳戶、用來將價值轉入與轉出的連結。API 其餘各處的每張卡、每筆消費與每次撥款最終都依賴於此。 幾個關鍵問題幾乎決定了你在這裡要建構的一切:
  • 這筆錢在哪個餘額中? 每個餘額規則不同——有些可提領,有些只能消費。
  • 在現金餘額中的哪個消費帳戶? 現金被分割成具名的次分類帳。選錯帳戶是最常見的失敗原因。
  • 資金是往內、在內部移動,還是往外? 每個方向都是不同的變更,範圍也不同。

四種餘額

Cash balance

工作用的餘額。由存款補充,花費於禮品卡與虛擬卡,可提領到外部帳戶。它不是單一池子——而是你的消費帳戶的總和,下一節將介紹。

Rewards balance

購買所賺取的現金回饋。可完全提領且可完全消費。不同於現金與預付餘額,它不帶有待入帳金額,因為回饋在賺取時即入帳,而不是隨時間結算。 要從該餘額提領,請傳入 source: "REWARDS_BALANCE"——除了現金餘額外,withdrawCashBalance 唯一接受的餘額。

Prepayment balance

一種餘額,四個名稱。 在產品層面稱為 prepayment balance(預付餘額)。API 欄位是 giftCardCashBalance,存款列舉值是 GIFT_CARD_BALANCE,且有些頁面仍稱為「gift card balance」。都是同一件事。
僅能消費。你可以用兩種方式補充——depositType: "GIFT_CARD_BALANCE" 的存款,或兌換 Fluz Gift Card 代碼——也可以用於消費,但它永遠不能提領到外部帳戶。 進入預付餘額的資金只能透過消費離開。 這是設計重點,而非限制:它是預付價值,因此將其存入視為一種承諾。如果你可能需要將資金轉回,請改存入現金餘額。

Reserve balance

透過 depositType: "RESERVE_BALANCE" 存入,並加以保留。不允許提領。

Spend accounts

消費帳戶是現金餘額底下的具名次分類帳——例如「Operations」、「Team Travel」、「Client A」——同屬一個 Fluz 帳戶之下,各自擁有其餘額。
「Spend account」、「cash balance」與 UserCashBalance 指的是相同物件。 產品層面呈現為消費帳戶;API 型別是 UserCashBalance,因此欄位為 userCashBalanceIdavailableCashBalance 等。請不要與 bankAccountId 混淆,後者指的是「外部」已連結的銀行帳戶。
每個帳戶都有一個預設消費帳戶。未指名帳戶的存款、購買與卡片資金補充都會落到被標記為 isDefault 的那一個。
如果你持有多個消費帳戶,請在每個操作中明確指定。 依賴預設帳戶是導致「餘額不足」異常的最常見原因——新的存款被導向其他處,或預設旗標變更,會在你程式碼不變的情況下默默改變資金來源。

三個數字

每個消費帳戶追蹤三個金額,它們回答不同的問題: 在任何大量操作前先檢查 availableCashBalancetotalCashBalance 減去 available 即為在途中流動的金額。

管理它們

消費帳戶 · 取得消費帳戶

資金移動的所有方式

轉入 — 從外部來源存入

depositCashBalance 從已連結的資金來源提取資金,存入你選擇的餘額。
  • 資金來源: bankAccountIdbankCardIdpaypalVaultId,皆可從 getWallet 取得。
  • 目的地: depositType 可為 CASH_BALANCEGIFT_CARD_BALANCERESERVE_BALANCE
  • 消費帳戶: 使用 CASH_BALANCE 時,請以 userCashBalanceId 明確指定目標帳戶。
結算時間依來源不同,從即時到 2–5 個工作天不等。回傳的 balances 物件反映可即時使用的金額,因此請讀取它,而不要假設全額已入帳。 從外部帳戶存入資金 · 資金來源

轉入 — 兌換 Fluz Gift Card

redeemFluzGiftCard 將 Fluz Gift Card 的代碼直接入帳至預付餘額。兌換是即時的,任何啟用費將回傳在 depositFee 這是唯一一種在沒有連結資金來源的情況下,將價值存入錢包的方法——適用於促銷、回扣與贈禮,受贈者可能完全沒有連結任何銀行帳戶。 兌換 Fluz Gift Card

內部移轉 — 在你自己的消費帳戶之間

transferInternalBalance 在你擁有的兩個消費帳戶之間移動資金。內部會被記錄為兩個關聯動作——來源帳戶的提領與目的帳戶的存入——回應會同時回傳兩者。
兩個 ID 都必須是你自己的帳戶,且不可相同,來源帳戶需有足夠的「可用」餘額。內部移轉會立即結算——這使它成為在購買被錯誤帳戶扣款時,最快速解鎖的方式。 在消費帳戶間移轉

內部移轉 — 轉給另一個 Fluz 使用者

轉給「不同」的 Fluz 帳戶是另一個操作。可用 accountId 指定目的地,或用你自己的識別碼 externalReferenceId——請見管理 External Reference ID。收款方必須已授權你的應用程式。 帳戶對帳戶轉帳 · 收款方查找

轉出 — 提領至外部帳戶

withdrawCashBalance 將資金轉出。選擇來源餘額——CASH_BALANCEREWARDS_BALANCE,這兩者是唯一支援提領的餘額——與方法,並提供相對應的目的地 ID: 當來源是現金餘額時,請指定要扣款的消費帳戶。ACH 通常先呈現 PENDINGPROCESSING 狀態,而非立即完成。
提領的輸入欄位將消費帳戶命名為 cashBalanceId,而存款與購買則使用 userCashBalanceId。同一個物件,不同的欄位名稱——已知的不一致,請留意。
提領至外部帳戶

讀取餘額

兩個查詢、兩種粒度: getWallet 也是你取得每次存入與提領所需資金來源 ID 的地方。移動資金前先檢查餘額,而不是等到失敗再處理。 檢查帳戶餘額 · 檢視資金來源

冪等性

每個資金移動的變更——存款、兌換、內部移轉、帳戶對帳戶轉帳、提領——都需要一個唯一且由用戶端產生的 idempotencyKey 以相同 key 重送請求會回傳原結果,而不會再次處理。為每一次預期的資金移動產生一個 key,並在該次移動的每次重試都重用它。 為重試產生新 key 會導致重複轉帳。 冪等性

Scopes

請先在你應用程式的「Permissions」分頁啟用這些範圍——若你請求了未啟用的 scope,系統會靜默忽略而非拒絕。→ 設定 OAuth App

下一步

透過錢包移動資金

從頭到尾的完整生命週期,可直接執行的快速上手。

消費帳戶

建立、資金補充、重新命名與關閉次分類帳。

資金來源

連結銀行卡、銀行帳戶與數位錢包。

存入資金

完整的存款輸入參考。

提領資金

方法、時間與錯誤處理。

交易活動

將所有移動匯整於一個可篩選的資訊流。