密钥绝不跨环境:
pk_test_ 密钥会被 live 拒绝,live 的 pk_ 密钥也会
被 test 拒绝。没有任何开关需要切换 —— 环境由您请求的地址决定。测试环境的行为
测试环境完全自包含:所有通道(付款、收款、转账、加密货币、银行 账户、卡片、身份验证)均由内部模拟器提供服务,因此永远不依赖任何第三 方的可用性。操作以确定性方式解析:- 您创建的任何操作都会被接受,并在几秒后(默认约 10 秒)达到
completed,触发与 live 相同的 webhook。 - 特定的魔法值可以强制触发其他所有结果,让您无需猜测即可测试 失败处理逻辑。
魔法值
PIX 二维码示例(巴西 QR 出金)
测试环境的扫码与生产一致地校验 BR Code,因此需要真实的 PIX payload。可直接使用以下示例(或用任意静态 PIX 二维码生成器自行 生成):固定金额 75.00 BRL(正常流程)
开放金额(在确认步骤由您指定金额)
固定金额 80.99 BRL(确认失败 —— 魔法值 .99)
与 live 的差异
- 任何真实的资金、卡片、邮件或短信都不会离开测试环境。
- 账户生而已验证:每个新的测试账户都以
kyc_status: approved开始,因此您可以立即演练所有产品 —— 没有入驻闸门。在 live 中, 账户生而未验证,必须先完成 KYC/KYB 才能转出资金。 - 账户生而带有数据:每个新的测试账户都自带约 6 个月的真实感演示 历史,覆盖所有产品(payouts、payins、转账、加密、兑换、卡片、 banking、联系人……),余额、对账单和分析报表开箱即用 —— 您可以在 创建任何操作之前就构建仪表盘和报表。
- 银行目录是虚构的(
Simulated National Bank等)。 - 汇率是真实的(与 live 同源),因此金额看起来真实。
- 测试数据与 live 完全独立:不从生产复制任何内容。请将测试数据视为 可丢弃的。
从控制台使用测试模式
控制台的 test/live 开关一键切换您的会话所在环境 —— 无需单独注册, 也无需再次登录。如果您的账户尚不存在于 test,首次切换时会自动创建 —— 与所有测试账户一样,生而已验证并带有演示历史。 API 密钥按环境管理:在测试模式下创建您的pk_test_ 密钥。
在本地开发中测试 webhook
回调 URL 必须是公网 HTTPS:创建订阅时会拒绝localhost、私有 IP
和 .local 域名。在本机开发时请使用 HTTPS 隧道:
在测试环境演练每个流程
上线前检查清单
在将集成指向 live 环境之前:- 将 base URL 换成
https://api.qbank.cl/platform,密钥换成您在 live 模式签发的pk_...。 - API 密钥保存在密钥管理器中(绝不放在前端或代码仓库)。
- 每个资金操作都发送由您内部 id 派生的
idempotency_key(不是每次尝试随机生成的 UUID)。 - 遇到超时或
5xx时不要换新密钥重试:使用相同密钥重试,或用GET查询状态。 - 验证每个 webhook 的 HMAC 签名并快速返回
2xx(异步处理)。 - 正确处理非终态(
pending、processing),不要假设成功 —— live 的清算时间比模拟的 10 秒更长。 - 在 live 重新创建了 webhook 订阅(test 的订阅不会迁移)。
- 查询
GET /v1/services只展示已启用的产品 —— 见服务。 - 每天通过
GET /v1/movements或对账单对账。 - 与 CBPay 团队保持沟通渠道,处理
unassigned充值或事故。
测试模式收费吗?
测试模式收费吗?
不收费。手续费从模拟余额中扣除,您可以在不花真钱的情况下演练完整
的计费逻辑。
可以在 test 使用 live 密钥(或反之)吗?
可以在 test 使用 live 密钥(或反之)吗?
不可以。每个环境只接受自己的密钥(test 用
pk_test_,live 用
pk_)。另一个环境的密钥会返回 401。如何知道是哪个环境响应的?
如何知道是哪个环境响应的?
每个响应都带有
CBPay-Environment 头(test 或 live),
GET /healthz 也返回 livemode。我测试账户里的演示历史是从哪来的?
我测试账户里的演示历史是从哪来的?
它在账户创建时生成:约 6 个月确定性、账务一致的演示操作,覆盖
所有产品。它不是真实数据,也不是从生产复制的 —— 两个环境不共享
任何内容。请将测试数据视为可丢弃的。
webhook 在 test 会触发吗?
webhook 在 test 会触发吗?
会 —— 完全相同的事件,使用您 test 订阅的密钥签名。请将其指向您的
开发隧道。