Skip to main content
本文介绍资金管理过程中涉及的各类账户,以及收款后资金如何通过结算划转在各账户间进行高效分配和管理。

账户

账户是在系统账本中管理的虚拟资金主体,与链上钱包或链上地址没有一一对应关系。
  • 每一笔收款、划转、退款或资金转出(Payout)等操作,都会在账本中形成明细条目,并据此动态更新各账户的余额。
  • 账户间的资金分配(如自动结算、手动划转)仅在账本内部发生,不会产生链上转账。只有在执行资金转出(Payout)或退款等操作时,才会触发链上实际资产的转移。
目前支持以下账户:
  • 开发者账户:持有开发者余额的单一账户。代表作为收款服务提供方(即您)所拥有的资金。
  • 商户账户:每个商户对应一个账户,持有各自的商户余额。每个商户代表实际收款的业务主体。
当您执行资金转出(Payout)或退款等操作时,需要选择使用哪个账户作为资金来源。

充币归属

每笔充币都需要先归属到某个商户账户,才能进行结算。Cobo 判断目标商户的方式取决于收款模式:
  • 充值模式:Cobo 会先根据收款地址解析出对应的付款方,然后将充币归属到创建该付款方与地址时绑定的商户。更换付款方的充值地址不会改变这一归属关系,详见地址更换后的影响
  • 订单模式:Cobo 会将充币归属到订单创建时存储的商户。即使后续有充币交易到达同一订单地址,该归属也不会改变。
为兼顾这两种视角,Cobo 的账务记录会同时保留每笔充币的两个维度:支付归属方(付款方或订单)与实际到账的收款地址。您既可以按付款方/订单关系追溯充币记录,也可以按链上地址追溯。
若充币发生在订单已经达到 Expired、终态 Underpaid,或 Completed 状态之后,该笔充币不会归属到商户账户,因为该订单已无法再将其作为正常付款接受。有关此类充币的检测和上报方式,请参考晚付

资金结算与划转

资金可以通过两种方式在账户之间分配:
  • 自动结算:在收款过程中,资金根据预设规则自动结算到商户账户和开发者账户。
  • 手动划转:您可以使用划转功能在账户之间手动转移资金。

自动结算

当收到付款后,系统会根据预设规则将资金自动分配到相应的商户账户和开发者账户。下方示意图展示了这一结算流程。具体的结算规则可能会因收款模式不同而有所差异:

充值模式

在充值模式下,资金结算基于创建商户时设置的开发者费率(developer_fee_rate)。开发者费率决定每笔充值中结算到开发者账户的比例。关于该费率的配置说明,请参考商户管理 示例:当开发者费率为 1% 时,100 USDT 充值将结算为 99 USDT 到商户账户,1 USDT 到开发者账户。 结算前后示例:假设充值前商户账户余额为 500 USDT,开发者账户余额为 50 USDT。当 developer_fee_rate 设置为 0.01 时,一笔 100 USDT 的充值会生成两条独立的账本记录: 每笔份额都会各自生成独立的账本记录,开发者份额会按代币支持的精度向下取整。如果某笔充值按费率计算后的开发者份额取整后为 0(例如费率极低的小额充值),则该笔充值不会生成 PSP_TOP_UP 记录,仅生成 MERCHANT_TOP_UP 记录。 您可以调用 List payer transactions 查看实际到账的总金额,调用 List merchant balancesGet developer balanceList balance changes 查看结算后的余额和账本明细。

订单模式

在订单模式下,资金结算基于创建订单时设置的金额参数。开发者费用(fee_amount)与应付金额(payable_amount)之间的比例决定每笔订单中结算到开发者账户的比例;pricing_amount 在以加密货币直接定价的订单中可能完全不填写,因此不能作为该比例的计算基础。关于这些参数的配置说明,请参考订单模式收款 示例:当订单金额为 99 USDT,开发者费用为 1 USDT 时,100 USDT 的订单实收金额将结算为 99 USDT 到商户账户,1 USDT 到开发者账户: 结算前后示例:假设结算前商户账户余额为 500 USDT,开发者账户余额为 50 USDT。对于 fee_amount 设置为 0 的正常支付订单,若一笔 100 USDT 的入账金额与应付金额完全一致,则全部金额将计入商户账户: 由于 fee_amount 为 0,开发者余额保持不变。有关 fee_amount 为非零值时的完整示例,请参考订单模式收款
特殊情况处理:
  • 多付/少付:按上述相同比例结算资金
  • 晚付:收到的资金不会通过上述自动结算流程结算到商户账户。有关晚付的检测和上报方式,请参考晚付

退款

退款金额的来源可以是商户账户或开发者账户。
  • 当退款金额来源为商户账户时,您可以通过指定开发者费用对该笔退款收取一定的服务费用。例如,当退款金额(payable_amount)为 100 USDT,开发者费用(merchant_fee_amount)为 1 USDT 时,100 USDT 的退款金额将结算 1 USDT 到开发者账户,付款方实际收到 99 USDT。
  • 当退款金额来源为开发者账户时,开发者费用字段将被忽略,退款金额将全额从开发者账户中扣除并转给付款方。
下图展示了退款过程中资金的结算和流向(示例数据):

手动划转

除了收款过程中的自动结算,您还可以使用划转功能在账户之间手动划转资金。详情请参阅划转资金

余额

账户余额指某一账户在特定时刻可用于资金转出(Payout)或退款的资金总额。该余额可以通过 Payments App 的余额模块或调用 List merchant balances 以及 Get developer balance 进行查询。 资金转出(Payout)的可提交资格基于此账本余额判断,而不是基于链上资金是否已经完成物理归集(Sweep)到可转出地址。即使后台的资金归集仍在进行中,只要账本余额充足,商户或开发者账户就具备发起资金转出的资格。有关 Cobo 如何在转出前准备和归集资金,以及可能产生的时间延迟,请参考加密货币转账 账户余额的变动主要来源于以下活动: 会增加余额的情况:
  • 收款时自动结算
  • 手动划转资金转入
  • 退款时自动结算(仅适用于开发者账户)
会减少余额的情况:
  • 资金转出(Payout)
  • 发生退款
  • 手动划转资金转出
下图展示了商户账户余额和开发者账户余额的主要来源和去向(未包含划转操作):