Skip to main content

Overview

提領允許使用者將資金從其 Fluz 餘額轉至外部帳戶。使用者可自兩種餘額提領:
  • 現金餘額(Cash Balance) - 使用者存入其 Fluz 帳戶的資金
  • 獎勵餘額(Rewards Balance) - 購物累積的現金回饋
Fluz 支援以下提領方式:

Withdraw Cash Balance

Sample Request

你可以使用 withdrawCashBalance mutation 發起提領。此 mutation 會將資金自使用者的 Fluz 餘額轉至其指定的外部帳戶。
此 mutation 需要 WithdrawCashBalanceInput 輸入型別。任何在 schema 中以驚嘆號(!)標記的欄位都是必填,且必須包含於請求中。

Input Fields

WithdrawCashBalanceInput


Sample Response

withdrawCashBalance mutation 的回應包含提領紀錄與使用者更新後的餘額。

Response Fields

Withdraw Object


Required Scope

此 mutation 需要將 MAKE_WITHDRAWAL scope 授與該存取權杖。getWithdrawFeeEstimate 查詢也需要相同的 scope。

Withdrawal Methods by Account Type


Preview Fees Before Withdrawing

使用 getWithdrawFeeEstimate 查詢在提交前為提領報價。傳入你打算使用的相同 amountmethodsourceisExpedited,回應會告知使用者實際可收到的金額。
費用是自提領金額中扣抵,而非加在金額上:餘額會被扣除完整的 amount,目的地則收到 netAmount。將 FLUZPAY 作為 method 會回傳 ARG-0001

Push-to-Card Withdrawals (OCT)

BANK_CARD 提領屬於推播至卡的付款,並以**原始入帳交易(OCT)**的卡網路交易型態將資金入帳至卡片。此方式需要 bankCardId,且所連結的金融卡必須支援 OCT。不符合資格的卡無法以其他方式送達,使用者需改選其他提領方式。 isExpedited 控制入帳速度:
PENDING 的推播至卡提領尚未定案。標準提領會在結算延遲後才入帳至卡片,屆時仍可能失敗——例如該卡已無法接收款項。若失敗,資金會退回來源餘額。請對提領狀態進行對帳,而非將初次 PENDING 回應視為已完成的付款。

Card Eligibility

多數 Visa 與 Mastercard 金融卡可接收推播至卡的付款。資格會在提交提領時評估,這是卡片本身的屬性,而非可由你設定。
資格無法事先得知,且與入金資格互不相干。目前沒有查詢可回報卡片是否支援 OCT——會在首次對該卡進行提領時才顯示。提領與入金的資格也彼此獨立,因此使用者可成功入金的卡片,不一定能用於提領。請參考 自外部帳戶入金
BANK_CARD 提領不受 cardType 限制:PREPAID 卡不會被預先排除,會如同其他卡片一樣以資格審核決定接受或拒絕。由於 BANK_CARD 沒有替代的送達路徑,請務必在你的介面中保留 BANK_ACHPAYPALVENMO 的可達性,避免因卡片不符合資格而中斷流程。推播至卡失敗會以 HN-0124BC-0004 呈現——請見下方的 錯誤處理

Error Handling

常見錯誤情境: ARG-* 錯誤會在任何資金移動之前拋出。

Example Error Response


Multiple Withdrawals

在某些情況下,單一提領請求可能會產生多筆提領紀錄。這可能發生在提領金額分配到多個 seat(網路位置)時。回應會包含所有建立的提領紀錄。

Best Practices

  1. 一律使用唯一的冪等鍵(idempotency keys) - 為每次提領請求產生新的 UUID,避免重複交易。
  2. 提領前先檢查餘額 - 使用 getWallet 查詢以確認使用者有足夠資金再發起提領。
  3. 處理處理中(pending)狀態 - 提領可能需要時間處理。status 欄位會指出提領目前的狀態。
  4. 保存交易參考 - 儲存 withdrawIdtransactionLogId 以利對帳與客服支援。

Changelog

v1.3.0

加速提領與費用預覽
  • 重新引入 WithdrawCashBalanceInputisExpedited。它控制 BANK_CARD 提領的入帳速度:true 於請求期間立即推送至卡;false 或省略則採標準時程結算。這取代了下方 v1.2.0 的說明(當時表示該欄位已移除)。
  • 新增 getWithdrawFeeEstimate 查詢與 GetWithdrawFeeEstimateInput / WithdrawFeeEstimate 型別,可在提交前預覽費用、淨額與結算時間。
  • 補充說明推播至卡為原始入帳交易(OCT),包含卡片資格,以及標準提領在提交後仍可能失敗並退回來源餘額的情況。
  • 更正 withdrawCashBalance 所需的 scope 為 MAKE_WITHDRAWAL。本頁先前列示的 MANAGE_PAYMENT 有誤;Withdraw 型別上的 seat_id 亦為選填(UUID),並非 v1.2.0 所述必填。
  • 說明 FLUZPAY 雖存在於 WithdrawMethods 列舉中,但不可用作提領方式:withdrawCashBalance 會以 WDR-0004(無效的提領方式)拒絕,getWithdrawFeeEstimate 會以 ARG-0001 拒絕。

v1.2.0 - 2024-11-20

Schema 微調與欄位清理
  • WithdrawCashBalanceInput 移除 isExpedited 欄位——不再能透過 API 設定加速 ACH
  • Withdraw 型別上的 seat_id 由選填改為必填(UUIDUUID!
  • 更新 BANK_CARD 方式的說明,移除「加速」字樣

v1.1.0 - 2024-10-15

新增 Venmo 支援與獎勵餘額提領
  • WithdrawMethods 列舉中加入 VENMO
  • WithdrawCashBalanceInput 中加入 venmoAccountId 欄位
  • WithdrawSource 列舉中加入 REWARDS_BALANCE,支援提領現金回饋
  • Withdraw 回應型別中加入 seat_id 欄位以供多 seat 帳戶追蹤

v1.0.0 - 2024-09-01

初始版本
  • 引入 withdrawCashBalance mutation,需具備 MAKE_WITHDRAWAL scope
  • 新增 WithdrawMethods 列舉,包含 PAYPALBANK_ACHBANK_CARD 方式
  • 新增 WithdrawSource 列舉,包含 CASH_BALANCE 來源
  • 新增具冪等性的 WithdrawCashBalanceInput 輸入型別
  • 新增 Withdraw 回應型別,含完整提領紀錄
  • 新增 WithdrawCashBalanceResponse 型別,回傳提領紀錄與更新後餘額
  • 與 payout-service 整合以處理提領
  • 新增應用程式操作日誌以供稽核追蹤