- 这笔钱在哪个余额里? 不同余额有不同规则——有的可提现,有的只能消费。
- 现金余额中的哪个消费账户? 现金被分区到具名的子总账中,选择错误是最常见的意外失败来源。
- 资金是在流入、内部流转,还是流出? 每个方向对应不同的变更,作用范围也不同。
四种余额
现金余额
工作余额。由存款补充,用于购买礼品卡与虚拟卡,可提现到外部账户。它不是一个单独的池子——而是你的消费账户的聚合,详见下一节。奖励余额
购物获得的返现。完全可提现,也完全可消费。不同于现金余额与预付余额,它不包含待结算金额,因为奖励是在获得时即入账,而非分期结算。 通过传入source: "REWARDS_BALANCE" 提现——这是除现金外 withdrawCashBalance 接受的唯一余额。
预付余额
一个余额,四个名字。 产品称其为预付余额。API 字段是
giftCardCashBalance,存款枚举是 GIFT_CARD_BALANCE,部分页面仍称其为“礼品卡余额”。这些都指同一件事。depositType: "GIFT_CARD_BALANCE" 进行存款,或兑换一张 Fluz 礼品卡代码——并可用于消费,但永远不能提现到外部账户。 进入预付余额的资金,只能通过消费离开。
这是一种产品设计,而非限制:它是预付价值,因此将存入视为一种承诺。如果你可能需要把资金取出,请改为存入现金余额。
预留余额
通过depositType: "RESERVE_BALANCE" 存入,并作为预留资金持有。不可提现。
消费账户
消费账户是现金余额下的具名子总账——例如“运营”“团队差旅”“客户 A”——它们各自拥有余额,且归属于同一个 Fluz 账户。“消费账户”“现金余额”和
UserCashBalance 指的是同一对象。 产品将其呈现为消费账户;API 类型是 UserCashBalance,因此字段为 userCashBalanceId、availableCashBalance 等等。不要与 bankAccountId 混淆,后者指的是外部已链接的银行账户。isDefault 的那个账户。
三个数字
每个消费账户都会跟踪三个金额,它们回答不同问题:
在任何批量操作前检查
availableCashBalance。totalCashBalance 减去可用金额,即为在途资金。
管理方式
→ 消费账户 · 获取消费账户
资金流转的所有方式
流入 — 来自外部来源的存款
depositCashBalance 会从已链接的资金来源拉取资金,存入你选择的余额。
- 资金来源:
bankAccountId、bankCardId或paypalVaultId,均可由getWallet获取。 - 目标余额:
depositType为CASH_BALANCE、GIFT_CARD_BALANCE或RESERVE_BALANCE。 - 消费账户: 当使用
CASH_BALANCE时,使用userCashBalanceId明确指定目标账户。
balances 对象反映了可立即使用的金额,请读取它,而不要假设全部金额已到账。
→ 从外部账户存入资金 · 资金来源
流入 — 兑换 Fluz 礼品卡
redeemFluzGiftCard 将一枚 Fluz 礼品卡代码直接记入预付余额。兑换是即时完成的,任何激活费用会在 depositFee 中返回。
这是无需绑定资金来源就能为钱包注入价值的唯一方式——适用于促销、返利与赠礼,收件人甚至可能完全未绑定银行账户。
→ 兑换 Fluz 礼品卡
内部流转 — 在你自己的消费账户之间
transferInternalBalance 在你拥有的两个消费账户之间划转资金。内部会记录为两笔关联动作——从来源账户的提现与到目标账户的存入——响应会返回两者。
内部流转 — 转给另一位 Fluz 用户
向一个不同的 Fluz 账户转账是另一项操作。通过accountId 指定目标地址,或使用 externalReferenceId 指定你自己的标识符——参见 管理外部引用 ID。收款人必须已授权你的应用。
→ 账户到账户转账 · 收款人查询
流出 — 提现至外部账户
withdrawCashBalance 将资金转出。选择一个来源余额——CASH_BALANCE 或 REWARDS_BALANCE,这两者是唯二支持提现的余额——以及一种方式,并提供相匹配的目标 ID:
当来源为现金余额时,请指明要扣款的消费账户。对 ACH 来说,预期初始状态为
PENDING 或 PROCESSING,而非立即完成。
提现输入中将消费账户字段命名为
cashBalanceId,而存款与购买使用 userCashBalanceId。同一对象,不同字段名——这是一个已知的不一致点,需要留意。读取余额
两个查询,两个粒度:getWallet 也是你获取每次存款与提现所需资金来源 ID 的位置。在移动资金前检查余额,而不是在失败后再处理。
→ 检查账户余额 · 查看资金来源
幂等性
每一次资金变动——存款、兑换、内部转账、账户间转账、提现——都需要一个唯一的、由客户端生成的idempotencyKey。
重复提交相同的 key 会返回原始结果,而不会再次处理。每个“预期的资金移动”生成一个 key,并在该移动的所有重试中复用它。 在重试时换用新的 key,则可能造成重复转账。
→ 幂等性
Scopes
请先在你应用的Permissions选项卡中启用这些 scope——未启用却在请求中声明的 scope 会被静默丢弃而非拒绝。→ 配置 OAuth 应用
下一步
在钱包中流转资金
从端到端的完整生命周期,提供可运行的快速上手。
消费账户
创建、充值、重命名与关闭子总账。
资金来源
关联银行卡、银行账户与数字钱包。
存入资金
完整的存款输入参考。
提现资金
方法、时效与错误处理。
交易活动
将所有资金流动汇集于一处并可筛选的明细流。