WhatPay genera links de cobro que el usuario reenvía por WhatsApp normal. La plata se mueve banco-a-banco. El bot nunca custodia fondos. Diseñado para operar en Chile sin licencia CMF en Fase 1, con arquitectura preparada para inscripción SAT en Fase 2.
El bot no custodia dinero. Un cobrador escribe al bot, recibe un link único de cobro (whatpay.cl/pago/{token}), y lo reenvía por WhatsApp normal. Quien paga abre el link, ve una tarjeta visual (Open Graph dinámico) y transfiere desde su banco vía Khipu. WhatPay solo transporta el enlace.
Iniciación de pagos bancarios. WhatPay no toca la plata; el usuario autoriza la transferencia desde su banco. Post-CMF: acuerdos directos con bancos.
Bot conversacional en el chat donde viven 16.5M de chilenos. Cero descargas, cero registros externos. Distribución cero-fricción por reenvío del link.
La infraestructura de billetera prepago (saldos, PIN, custodia, KYC 3 niveles) está construida y latente en el código. Se activa cuando la ronda financie la inscripción como iniciador de pagos regulado ante CMF. Hasta entonces, opera solo el modelo sin custodia.
FSM conversacional con sesiones en Redis. Estados aislados por flujo (Cobrar, Pagar, contacto compartido, registro).
SELECT FOR UPDATE en transacciones críticas. Idempotency keys por Redis. Cero riesgo de doble cobro.
Montos en enteros (centavos no aplican en CLP). Evita bug clásico de floats. Auditable end-to-end.
# Flujo de datos de un cobro Usuario cobrador ─► WhatsApp ─► Meta Cloud API ─► Webhook (HMAC verificado) │ ▼ Bot service (FSM) │ ┌────────────────────┼────────────────────┐ ▼ ▼ ▼ Postgres Redis PaymentLink service (auditoria) (sesion+idem) │ ▼ /pago/{token} ─► OG dinamico │ ▼ Usuario pagador │ ▼ Banco del pagador (via Khipu SAT) │ ▼ Cuenta del cobrador
| Capa | Implementación |
|---|---|
| Datos sensibles | RUT cifrado AES-256-GCM + índice HMAC-SHA256 para búsqueda |
| PIN de usuario | bcrypt cost 12. PIN débil rechazado (secuencias y repetidos) |
| Brute-force | Lockout tras 3 intentos por 15 min. Registro auditable |
| Webhook Meta | Verificación HMAC-SHA256 con timingSafeEqual |
| Rate limiting | Global por IP + granular por acción (payment, KYC, disputa) |
| HTTP hardening | Helmet, HSTS preload, CSP, X-Frame DENY, Referrer-Policy |
| Cifrado at-rest | Cloud SQL con disco cifrado (Google-managed KMS) |
| Cifrado in-transit | TLS end-to-end. Redis con TLS (rediss://). Firebase Hosting HSTS |
| Auditoría | Tabla audit_events inmutable con severidad y contexto |
| Secretos | Google Secret Manager. Cero credenciales en el repositorio |
El modelo actual sin custodia no requiere inscripción CMF para operar. Sin embargo, la Ley 21.521 (Fintech, vigente desde 2023) crea la figura de Iniciador de Pagos (SPIP). Estamos evaluando con asesoría legal si nuestro rol de generación de link constituye iniciación de pagos regulada, o si esa responsabilidad recae íntegramente en Khipu como proveedor SAT ya inscrito.
| Componente | Estado |
|---|---|
| Ley 21.521 (Fintech) | Vigente desde 2023 Marco claro |
| CMF · Inscripción SAT (billetera Fase 2) | En evaluación legal Pendiente |
| UAF · Reporte tx > UF 450 | Aplicable en Fase 2 con custodia No aplica hoy |
| Ley 19.628 (Datos personales) | Términos y Privacidad publicados Vigente |
| Ley 21.719 (Datos actualizada) | Compliance en preparación En proceso |
Términos de servicio: whatpay.cl/legal · Política de privacidad: whatpay.cl/privacidad
Deployment continuo. Revisión iter319 en producción. Cero errores en últimas 24h.
Cobertura del flujo Pix (Cobrar, Pagar, contacto compartido). Infra latente cubierta aparte.
Sin errores de tipo. Lint sin warnings. CI ejecuta tests + lint en cada push.
Piloto cerrado con usuarios fundadores. Sin métricas de mercado todavía. El siguiente hito de la ronda es Khipu productivo + 10-30 comercios piloto con retención semanal medida. Cualquier número de GMV o usuarios masivos que aparezca en pitches externos es especulativo.
| Recurso | Configuración |
|---|---|
| Cloud Run | southamerica-west1 · min=1 en demo, min=0 en pausa · autoscale hasta 3 |
| Cloud SQL | PostgreSQL 16 · db-f1-micro · Santiago · disco cifrado |
| Redis | Upstash · TLS · Sao Paulo · sesiones + rate-limit + idempotency |
| Storage | Google Cloud Storage · Artifact Registry |
| DNS | Cloudflare (only, sin proxy) apuntando a Firebase Hosting |
| Costo actual | ~$2-17 USD/mes según demanda. Scale-to-zero en periodos sin uso |
| Uptime | Health check activo · graceful shutdown 9s · retry-with-backoff en webhooks |
| Deploy | Cloud Build automático · imágenes reproducibles · rollback en 1 comando |
| Milestone | Ventana |
|---|---|
| Khipu productivo (fin del mock) | Mes 1-2 |
| 10-30 comercios piloto en 1 vertical | Mes 1-3 |
| Métrica de retención semana 4 | Mes 2-3 |
| Evaluación legal SPIP + registro CMF si aplica | Mes 2-4 |
| Contratación: 1 backend senior · 1 growth part-time | Mes 1-2 |
| Activación de Fase 2 (billetera prepago con licencia) | Mes 6-9 |
| Expansión: primeras integraciones B2B (comercios grandes) | Mes 6-12 |