spending_asset:USDT、USDC、BTC 或 GOLD)。USDT/USDC 与美元 1:1;BTC 和 GOLD 则按每个事件发生时刻的价格换算。每笔消费都会实时针对该资产的可用余额及该卡自身的限额进行授权,扣款会立即出现在流水记录中。
您可以持有多少张卡
每张卡都从账户在其所配置资产中的中央余额消费(
spending_asset,默认 USDT)。精细化控制通过按卡设置的消费限额实现(单笔、每日、每月),限额始终以美元计量,并可随时修改。
选择消费余额(USDT、USDC、BTC 或 GOLD)
在创建卡片时设置spending_asset,或之后通过 PATCH 修改。它只影响未来的消费:进行中的授权保持其原扣款资产(其撤销也会退回同一资产)。
GET /v1/rates 的 settlement 区块中看到的同一结算价格):
- 授权:预留消费金额在您资产中的等值加上一小笔缓冲额(这不是收费:它用于覆盖到清算为止的价格波动,并在入账时退回)。如果该时刻无法获得执行价格,消费会被拒绝(
pricing_unavailable)——绝不会用不可信的价格换算您的余额。 - 清算(入账):最终金额按入账时刻的价格重新换算;缓冲额的多余部分退回您的余额(若价格波动超出缓冲范围,则补扣差额)。
- 授权撤销:退回精确的预留金额,不做任何换算。
- 入账后的退款与调整:按事件发生时刻的价格重新换算。价格可能在消费与退款之间发生变动——您收到的是该时刻价格下您资产中的等值,而非原始数量。
- BTC/GOLD 消费与您账户的波动性资产限额共享(单笔操作及 24 小时交易量,可在
GET /v1/settlement中查看)。
若所选资产的余额不足,消费会以
insufficient_funds 被拒绝——不会自动回退到其他余额。费用(由您的运营方配置,可以为 0)
具体金额见
GET /v1/rates(fees 字段)。若发卡失败,所有发卡费用都会自动退款。
创建卡片
流程取决于您的账户是个人还是企业——请选择对应的标签页。共同规则:持卡人每个账户只验证一次,即首次发卡时验证;后续发卡直接复用,无需数据。idempotency_key 始终必填(使用相同 key 的重试会返回原始卡片,绝不会重复扣费)。
- 个人账户
- 企业账户
个人账户为自己发卡(最多 1 张虚拟卡 + 1 张实体卡)。您的第一张卡会在发卡方创建并验证您的持卡人。由于您的账户已通过身份验证,您的数据和证件会从验证中自动填充——您只需补充发卡方专属字段(同类型的第三张卡会返回
occupation、salary_usd);任何显式提供的字段都优先于自动填充:occupation 是目录代码(见下文),salary_usd 为美元整数。如果您的验证是通过向导完成的,而缺少发卡方要求的某些数据或证件,请在 cardholder 中显式补充(first_name、email、address、id_front_url…,格式与往常相同)。您的第二张卡(例如实体卡)无需任何数据——您的持卡人已完成验证:409 card_limit_reached(请先注销现有的那张)。"spending_asset": "USDC" 从一开始就固定消费余额(省略时为 USDT)。
个人还是企业?两种账户类型在所有产品中的差异汇总见个人与企业。
职业与经营活动(目录代码)
指定个人时,occupation 必须是官方目录中的代码(不是自由文本);指定企业时,kind_of_business 同样如此。可以查询(支持用 ?q= 搜索):
{ "code": "...", "label": "..." }。在 occupation / kind_of_business 中使用其 code。目录之外的值在到达发卡方之前就会返回 400 invalid_occupation 或 400 invalid_kind_of_business。salary_usd 以美元计(整数)。
实体卡:激活
实体卡初始状态为pending_activation,出于安全考虑在运输途中处于未激活状态。持卡人拿到卡后:
显示 PAN 与 CVV(敏感数据)
只有持有该卡的账户可以显示它们(组织管理员永远不行)。响应为一次性:展示给持卡人后即丢弃。限额与冻结/解冻
Update limits
"0" 表示移除某项限额。要冻结(立即拒绝所有消费):
Freeze
交易及其生命周期
spend_asset / spend_amount 显示这笔消费实际从哪个余额扣款,以及在该资产中扣了多少(amount_usd / amount_usdt 仍为美元参考值)。对于 BTC/GOLD,已授权交易的 spend_amount 包含预留缓冲额;清算后显示最终金额。
如果清算金额与授权金额不同(小费、商户换汇),调整会自动应用:为正则补扣差额,为负则退回差额。
注销卡片
不可逆。若已配置,会计收card_cancellation 费用。
Webhooks
订阅方式与其他事件相同(参见 Webhooks)。
常见问题
我需要给卡片预充值吗?
我需要给卡片预充值吗?
不需要。卡片自身不持有余额:每笔消费都实时针对账户余额(该卡的消费资产)进行授权。只要余额足够且消费符合限额,就会被批准。
如果我公司的多张卡同时消费会怎样?
如果我公司的多张卡同时消费会怎样?
它们都从账户的中央余额消费。每次授权都以原子方式扣款:无论多少张卡并行操作,消费总额都不可能超过该资产的可用余额。
消费以什么货币扣款?
消费以什么货币扣款?
消费以美元处理,并从卡片配置的余额(
spending_asset)扣款。USDT/USDC 与美元 1:1,无兑换费;BTC 和 GOLD 按每个事件发生时刻的有效价格换算(与 GET /v1/rates 的 settlement 区块中的价格相同)。不同的卡可以从不同的余额消费吗?
不同的卡可以从不同的余额消费吗?
可以:
spending_asset 是按卡设置的。例如,一家企业可以让公司卡消费 USDT、员工卡消费 USDC、个人卡消费 BTC。通过 PATCH 修改只对未来的消费生效。BTC/GOLD 消费中我看到的预留缓冲额是什么?
BTC/GOLD 消费中我看到的预留缓冲额是什么?
卡组织清算在授权后 1-2 天到达,期间 BTC/黄金价格可能波动。因此授权时会预留消费等值金额外加一个小的百分比。这不是收费:清算时,消费按当时的价格重新换算,多预留的部分会自动退回您的余额。
如果消费时 BTC/黄金价格不可用会怎样?
如果消费时 BTC/黄金价格不可用会怎样?
该消费会被拒绝(
pricing_unavailable)——CBPay 绝不会用不可信的价格换算您的余额。这是暂时性状况(价格源降级):几分钟后重试,或将卡片切换到 USDT/USDC。无法被拒绝的事件(已批准消费的清算、退款)永远不会被阻塞:它们会按最后已知价格加上审慎溢价处理,并在流水中留痕可审计。我的一笔 BTC 消费被退款了——为什么收到的数量不一样?
我的一笔 BTC 消费被退款了——为什么收到的数量不一样?
退款按退款时刻的价格换算,而非消费时刻的价格:您收到的是退款美元金额在您资产中的等值。如果 BTC 自消费以来上涨,您收到的 BTC 会更少(美元价值相同);如果下跌,则更多。您的 BTC/GOLD 余额始终暴露于价格波动——这是用波动性资产消费的本质。
如果月费扣款时没有余额会怎样?
如果月费扣款时没有余额会怎样?
卡片会被自动冻结(
card_status_changed 事件,reason: monthly_fee_unpaid)。不会产生欠款;余额补足后,用 PATCH { "frozen": false } 解冻即可。我可以为公司以外的人发卡吗?
我可以为公司以外的人发卡吗?
企业账户可以为任何指定人员发卡。该人员必须拥有已批准的 KYC 验证——您在
cardholder 中传入其 verification_id,其数据和证件会自动填充。卡片始终从发卡企业账户的余额消费。