Skip to main content

📄 正文

DeCard 托管模式为每个用户托管一份独立的资金账本。资金的占用(授权冻结)与扣减(清算入账)都直接作用于该用户的余额,无需把授权请求转发给接入机构。作为持牌、自有 BIN 的发卡机构,DCS 由此把用户资产的合规托管与记账都在自有系统内完成。 DCS 直接托管用户的可支配余额,用 可用 / 冻结 / 总额 三个数描述任意时刻的资金状态。

余额模型(free / freeze / total)

每个用户账户按币种(资产)分别记账。查询 /user-asset/v1/balance 返回一组按资产维度的余额对象:
余额对象还含 assetnetworklogo。当前已知资产为 USDTUSDCUSD;后续可能扩展,请仍以 balance 接口实际返回为准,不要把当前清单硬编码为永久全集。 术语对应:业务上常说的”可用余额 / 冻结余额”即 API 字段 free / freeze;本套文档统一以 API 字段名 free / freeze / total 为准,行文中括注其中文语义。
资金随交易生命周期在 freefreeze 之间流动:
  • 授权(冻结):批准一笔消费时,对应金额从 free 移入 freeze——资金被冻结但不离开账户,total 不变。
  • 清算(入账):商户提交最终金额后完成实际扣减,对应的 freeze 被释放、账户余额相应下降。
  • 充值 / 退款:资金增加时进入 free
  • 费用扣款:制卡费(CARD_PRINTING_FEE)、邮寄费(CARD_POSTAL_FEE)、冻结费(CARD_VIP_FROZEN_FEE)等直接从 free 扣除。free 减少、total 同步下降(不经过 freeze,与消费授权-清算两段路径不同)。
授权/清算两阶段对余额的影响详见 授权清算

充值与扣款(Credit / Debit)

DeCard 托管模型下,用户独立余额通过一组 user-asset 接口调整与查询: credit / debit 请求体一致:{ externalTranId, asset, amount, externalUserId, remark }——其中 externalTranId 为幂等唯一 ID,asset 须是 DeCard 支持的币种,amount 必须为正数且小数位 ≤ 18 位。
字段全表与可跑示例见 使用指南 → 用户余额交易查询

资金变动类型(Transaction Type)

POST /user-asset/v1/transactionsPOST /user-asset/v1/transaction-detail 通过 type 字段标识每笔变动的业务类型,相当于”账本分录类型”:

关键原则

  1. 可用与冻结分离:授权立即把资金从 free 移入 freeze,先于实际清算占用额度,防止超额消费;清算时再从 freeze 释放并完成扣减。
  2. 按用户、按资产独立记账:每个用户的每种资产各有一份 free/freeze/total,互不混淆。
  3. 幂等保护:充值、扣款均以 externalTranId 作幂等键,重复请求被拒绝。

下一步