跳转到主要内容
出金(payout)会以当地货币向目的国的银行账户汇出资金。金额按您账户的 汇率(即 GET /v1/rates 返回的汇率)从当地货币折算为 USDT,并从您的 余额中扣除 usdt_amount + fee(如已配置固定费用)。 以下是完整的生命周期,包括每一步中您的余额发生的变化:

1. 查询可用通道

国家、货币和方式由 CBPay 定义。请始终查询目录:
可用的通道和方式: 可用性可能变化;目录(GET /v1/payouts/methods)始终是唯一可信来源。 如果某个国家只有一种方式,method 为可选。每种方式的计费方式相同: 您的汇率 + 固定费用。 对于银行转账,您还需要银行目录(收款人的 bank_code 即来自这里):

2. 创建出金

beneficiary 是一个键/值对象,其必填字段取决于具体通道(智利需要 RUT 和银行,墨西哥需要 CLABE,秘鲁需要 CCI,巴西需要 PIX 密钥等)。方式目录 对每个通道都有说明。
每笔出金都会自动将收款人保存为联系人 (发送 "save_contact": false 可跳过)。若要再次向其付款而无需重新输入 资料,请发送 "beneficiary_contact_id" 代替 beneficiary —— 系统将使用 其在该国家和方式下最近保存的收款人信息(若不存在则返回 422 no_saved_destination)。
响应 202 Accepted
此时您的余额已反映该笔扣款:total_debit 已从 available 转入 held(在 settlement_asset 对应的余额上)。

从其他余额支付(settlement_asset

默认情况下,扣款来自您的默认结算资产(除非您通过 PUT /v1/settlement 更改,否则为 USDT)。若要让单笔操作从其他余额支付,请在请求中加入 settlement_asset。示例:一笔 100,000 CLP 的出金从 BTC 余额支付,会经过 四次转换,全部记录在响应中:
  1. CLP → USDT,按您的汇率:100000 / 950.25 = 105.235465 USDT
  2. + 固定费用105.235465 + 0.30 = 105.535465 USDTtotal_debit)。
  3. USDT → BTC,按实际结算价格(settlement_rate 109029.34070000):105.535465 / 109029.3407 = 0.00096795 BTC (向上取整到聪)。
  4. 以 BTC 扣款并冻结settlement_amount 0.00096795 从您的 BTC 余额中扣除;收款人照常收到其 100,000 CLP,分毫不差。
如果出金失败,将向您的 BTC 余额退回精确的 settlement_amount —— 绝不重新报价。如果当时 BTC/GOLD 的执行价格不可用,您会收到 503 pricing_unavailable;波动性资产还有单笔操作限额 (422 settlement_limit_exceeded;可在 GET /v1/settlement 中查询)。

3. 接收最终状态

订阅 payout_status_changed 事件(webhooks):
  • completed:资金已到账;冻结金额被消耗。
  • failed:全部扣款自动退回(在您的账本中记为 payout_refund)。
您也可以随时查询:

出金状态

查询与历史记录

每笔出金都可以单独读取,列表接口支持筛选:
from/to 使用 YYYY-MM-DD(UTC,两端均含);日期无效时返回 400 invalid_range

各国示例

每条通道均附有其精确的 beneficiary、完整的请求和真实的响应。汇率 (fx_rate)仅供参考 —— 实际始终采用 GET /v1/rates 返回的您账户的 汇率;扣款为 usdt_amount + fee(固定费用,如已配置;此处为 0.30)。

各通道的收款人字段

以 CLP 进行银行转账。需要 RUT、银行和账户:
银行目录(GET /v1/payouts/banks?country=CL)列出当前有效的 bank_code 值。

QR 出金

在玻利维亚(本地互操作 QR 标准)和巴西(PIX 二维码,包括 “copia e cola” 代码),您还可以分两步支付收款二维码:扫码与确认。 扫码免费;只在确认时收费,与普通出金完全相同(您的汇率 + 固定 费用)。如未提供 country/currency,默认按玻利维亚(BOB)处理; 巴西请发送 country: "BR"currency: "BRL"

1. 扫描二维码(免费)

返回收款方的信息,以便用户确认付款对象:

2. 确认支付(此步收费)

  • 您的汇率扣除 usdt_amount + 固定费用,与 bank_transfer 完全一致。
  • 结果为同步返回:响应中已包含最终状态(completed,或 failed 并自动退款)—— 无需等待。
  • 使用相同 idempotency_key 重试会返回原始出金。玻利维亚的扫码引用 为一次性(已扫描的二维码只能支付一次);巴西的静态 PIX 二维码可 复用,每笔支付携带自己的键。

常见错误

立即拒绝与后续失败

如果处理方在创建时就拒绝了出金,您会收到 422,对象处于 status: failed,且退款已经完成。如果之后才失败(例如目标账户不存在), webhook 会以 status: failed 送达,自动退款也在那一刻发生。

解读失败出金的 status_code

无论哪种情况,退款均已完成 —— 可通过 账户流水中的 payout_refund 条目进行核实。
处于 processing 状态的出金无法通过 API 取消:通道已经在处理它。请通过 webhook 或 GET 等待最终状态 —— 它一定会到达,失败时会自动退款。
最后修改于 2026年7月19日