概览
提现允许用户将资金从其 Fluz 余额转至外部账户。用户可以从两种余额类型中提现:- 现金余额(Cash Balance) - 用户存入其 Fluz 账户的资金
- 奖励余额(Rewards Balance) - 购物累计的返现收益
提现现金余额
示例请求
你可以使用withdrawCashBalance mutation 发起提现。该 mutation 会将用户的 Fluz 余额资金转至其指定的外部账户。
WithdrawCashBalanceInput 输入类型。架构中带感叹号(!)的字段为必填,必须在请求中提供。
输入字段
WithdrawCashBalanceInput
示例响应
withdrawCashBalance mutation 的响应包含提现记录以及用户更新后的余额。
响应字段
Withdraw 对象
必需的 Scope
此 mutation 需要将MAKE_WITHDRAWAL scope 授予访问令牌。getWithdrawFeeEstimate 查询同样需要该 scope。
各账户类型的提现方式
提现前预览费用
使用getWithdrawFeeEstimate 查询在提交前对提现进行报价。传入你计划使用的相同 amount、method、source 和 isExpedited,响应会精确告知用户将实际收到的金额。
费用从提现金额中扣除,而非额外叠加:余额会扣减完整的
amount,目的账户收到 netAmount。将 FLUZPAY 作为 method 传入会返回 ARG-0001。
推卡提现(OCT)
BANK_CARD 提现是推卡付款,以**原始贷记交易(OCT)**的卡网络交易类型将资金打到卡上。它需要 bankCardId,且绑定的借记卡必须支持 OCT。不符合条件的卡无法通过其他方式入账,用户需选择其他提现方式。
isExpedited 控制到账速度:
卡片可用性
大多数 Visa 与 Mastercard 借记卡均可接收推卡付款。可用性会在提交提现时评估,这是卡片本身的属性,并非可由你配置。可用性无法提前获知,且与存款的可用性不互通。没有可查询卡片是否支持 OCT 的接口——它只会在对该卡首次提现时显现。提现与存款的可用性相互独立,因此用户成功用于存款的卡片,并不一定可用于接收提现。参见 从外部账户存款。
BANK_CARD 提现不受 cardType 限制:PREPAID 卡不会被预先排除,与其他卡一样基于可用性决定接受或拒绝。由于 BANK_CARD 没有替代的交付路径,请务必在你的界面中保持 BANK_ACH、PAYPAL 或 VENMO 可选,以防不合格卡片导致流程中断。推卡失败会表现为 HN-0124 或 BC-0004 —— 见下方的 错误处理。
错误处理
常见错误场景:ARG-* 错误会在资金发生任何变动之前抛出。
错误响应示例
多笔提现
在某些情况下,单个提现请求可能会生成多条提现记录。这通常发生在提现金额被拆分至多个席位(网络位置)时。响应会包含所有创建的提现记录。最佳实践
- 始终使用唯一的幂等键 - 为每次提现请求生成新的 UUID,防止重复交易。
- 提现前检查余额 - 使用
getWallet查询在发起提现前验证用户资金是否充足。 - 处理待处理状态 - 提现可能需要时间处理。
status字段会指示提现当前状态。 - 存储交易引用 - 保存
withdrawId和transactionLogId以便对账与支持。
更新日志
v1.3.0
加急提现与费用预览- 重新引入
WithdrawCashBalanceInput上的isExpedited。它控制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
架构优化与字段清理- 从
WithdrawCashBalanceInput中移除了isExpedited字段——加急 ACH 不再通过 API 配置 - 将
Withdraw类型上的seat_id字段从可选改为必填(UUID→UUID!) - 更新了对
BANK_CARD方式的描述,删除了“加急”相关表述
v1.1.0 - 2024-10-15
新增 Venmo 支持与奖励余额提现- 在
WithdrawMethods枚举中新增VENMO - 在
WithdrawCashBalanceInput中新增venmoAccountId字段 - 在
WithdrawSource枚举中新增REWARDS_BALANCE,支持提现返现收益 - 在
Withdraw响应类型中新增seat_id字段以支持多席位账户跟踪
v1.0.0 - 2024-09-01
初始发布- 引入
withdrawCashBalancemutation,并要求MAKE_WITHDRAWALscope - 新增
WithdrawMethods枚举,包含PAYPAL、BANK_ACH和BANK_CARD方式 - 新增
WithdrawSource枚举,包含CASH_BALANCE来源 - 新增支持幂等的
WithdrawCashBalanceInput输入类型 - 新增包含完整提现记录详情的
Withdraw响应类型 - 新增返回提现记录与更新后余额的
WithdrawCashBalanceResponse类型 - 集成 payout-service 以处理提现
- 新增应用操作日志以用于审计追踪