Las keys jamás cruzan de ambiente: una key
pk_test_ es rechazada por
live y una key pk_ de live es rechazada por test. No hay ningún flag que
cambiar — el ambiente lo define hacia dónde apuntas tus requests.Cómo se comporta el ambiente de test
El ambiente de test es 100% autocontenido: todos los corredores (payouts, payins, transferencias, crypto, banking, tarjetas, verificación de identidad) los atiende un simulador interno, así que nunca depende de que un tercero esté disponible. Las operaciones se resuelven de forma determinista:- Toda operación que crees se acepta y llega a
completeda los pocos segundos (default ~10s), disparando los mismos webhooks que live. - Los valores mágicos fuerzan cada resultado alternativo, para que pruebes tu manejo de errores sin adivinar.
Valores mágicos
QRs PIX de ejemplo (payout QR Brasil)
El scan de test valida el BR Code igual que producción, así que necesitas payloads PIX reales. Usa estos (o genera los tuyos con cualquier generador de QR PIX estático):Monto fijo 75.00 BRL (flujo feliz)
Monto abierto (tú eliges el monto en el confirm)
Monto fijo 80.99 BRL (el confirm falla — valor mágico .99)
Qué difiere de live
- Ningún dinero, tarjeta, email ni SMS real sale jamás del ambiente de test.
- Las cuentas nacen verificadas: toda cuenta nueva de test parte con
kyc_status: approved, así puedes ejercitar todos los productos de inmediato — sin gate de onboarding. En live las cuentas nacen sin verificar y deben completar su KYC/KYB antes de que salga dinero. - Las cuentas nacen pobladas: toda cuenta nueva de test parte con ~6 meses de historia demo realista de todos los productos (payouts, payins, transfers, crypto, swaps, tarjetas, banking, contactos…), con saldos, cartola conciliada y analytics listos para explorar — puedes construir dashboards y reportes antes de crear una sola operación.
- Los catálogos de bancos son ficticios (
Simulated National Bank, …). - Las tasas FX son reales (misma fuente que live), así los montos se ven realistas.
- Los datos de test son totalmente independientes de live: nada se copia desde producción. Trata el dataset de test como desechable.
Modo test desde el dashboard
El switch test/live del dashboard mueve tu sesión entre ambientes con un click — sin registro aparte ni segundo login. Si tu cuenta aún no existe en test, se crea automáticamente la primera vez que cambias — nace verificada y poblada con historia demo, como toda cuenta de test. Las API keys se administran por ambiente: crea tus keyspk_test_ estando en modo
test.
Probar webhooks en desarrollo local
Las callback URLs deben ser HTTPS públicas:localhost, IPs privadas y
dominios .local se rechazan al crear la suscripción. Para desarrollar en
tu máquina usa un túnel HTTPS:
Ejercitar cada flujo en test
Checklist de go-live
Antes de apuntar tu integración al ambiente live:- Cambia la base URL a
https://api.qbank.cl/platformy la key a tupk_...de live (emitida en modo live). - Las API keys viven en un secrets manager (nunca en el frontend ni en el repo).
- Toda operación de dinero envía un
idempotency_keyderivado de TU id interno (no un UUID aleatorio por intento). - Ante timeout o
5xxno reintentas con una key nueva: repite con la misma key o consulta el estado con elGET. - Verificas la firma HMAC de cada webhook y respondes
2xxrápido (procesa async). - Manejas los estados no finales (
pending,processing) sin asumir éxito — en live la liquidación tarda más que los 10 segundos simulados. - Re-creaste tus suscripciones de webhook en live (las de test no se traspasan).
- Consultas
GET /v1/servicespara mostrar solo productos habilitados — ver servicios. - Concilias a diario con
GET /v1/movementso la cartola. - Tienes un canal con el equipo CBPay para depósitos
unassignedo incidentes.
¿El modo test cuesta algo?
¿El modo test cuesta algo?
No. Las comisiones se cobran contra saldos simulados, así que puedes
ejercitar toda la lógica de pricing sin gastar dinero real.
¿Puedo usar mi key de live en test (o al revés)?
¿Puedo usar mi key de live en test (o al revés)?
No. Cada ambiente acepta solo sus propias keys (
pk_test_ en test,
pk_ en live). Una key del otro ambiente devuelve 401.¿Cómo sé qué ambiente me respondió?
¿Cómo sé qué ambiente me respondió?
Toda respuesta lleva el header
CBPay-Environment (test o live),
y GET /healthz devuelve livemode.¿De dónde sale la historia demo de mi cuenta de test?
¿De dónde sale la historia demo de mi cuenta de test?
Se genera al crear la cuenta: ~6 meses de operaciones demo
deterministas y contablemente consistentes de todos los productos. No
es data real ni se copia desde producción — los ambientes no comparten
nada. Trata los datos de test como desechables.
¿Los webhooks se disparan en test?
¿Los webhooks se disparan en test?
Sí — exactamente los mismos eventos, firmados con el secreto de tu
suscripción de test. Apúntalos a tu túnel de desarrollo.