workspace-v1/projects/erp-core/docs/08-epicas/EPIC-MGN-017-stripe-integration.md
rckrdmrd 66161b1566 feat: Workspace-v1 complete migration with NEXUS v3.4
Sistema NEXUS v3.4 migrado con:

Estructura principal:
- core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles)
- core/catalog: Catalogo de funcionalidades reutilizables
- shared/knowledge-base: Base de conocimiento compartida
- devtools/scripts: Herramientas de desarrollo
- control-plane/registries: Control de servicios y CI/CD
- orchestration/: Configuracion de orquestacion de agentes

Proyectos incluidos (11):
- gamilit (submodule -> GitHub)
- trading-platform (OrbiquanTIA)
- erp-suite con 5 verticales:
  - erp-core, construccion, vidrio-templado
  - mecanicas-diesel, retail, clinicas
- betting-analytics
- inmobiliaria-analytics
- platform_marketing_content
- pos-micro, erp-basico

Configuracion:
- .gitignore completo para Node.js/Python/Docker
- gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git)
- Sistema de puertos estandarizado (3005-3199)

Generated with NEXUS v3.4 Migration System
EPIC-010: Configuracion Git y Repositorios
2026-01-04 03:37:42 -06:00

3.4 KiB

EPICA: EPIC-MGN-017 - Integracion Stripe

Metadata

Campo Valor
ID EPIC-MGN-017
Nombre Integracion Stripe para Suscripciones
Modulo billing
Fase Fase 4 - SaaS Platform
Prioridad P0
Estado Backlog
Story Points 34
Sprint(s) Sprint 22-24

Descripcion

Integracion completa con Stripe para gestion de suscripciones por usuario, cobros recurrentes, prorratas automaticas, y webhooks para sincronizacion de estado.


Objetivo de Negocio

  • Automatizar cobros recurrentes por suscripcion
  • Soportar modelo per-seat con prorratas
  • Facilitar cambios de plan (upgrade/downgrade)
  • Mantener sincronizacion bidireccional con Stripe

Historias de Usuario

ID Historia Prioridad SP Estado
US-MGN017-001 Como tenant owner, quiero vincular mi cuenta con Stripe P0 3 Backlog
US-MGN017-002 Como tenant owner, quiero agregar tarjeta de credito P0 5 Backlog
US-MGN017-003 Como sistema, quiero crear suscripcion en Stripe al activar tenant P0 5 Backlog
US-MGN017-004 Como sistema, quiero actualizar cantidad de usuarios en Stripe P0 5 Backlog
US-MGN017-005 Como sistema, quiero procesar webhooks de Stripe P0 8 Backlog
US-MGN017-006 Como sistema, quiero manejar pagos fallidos P0 5 Backlog
US-MGN017-007 Como tenant owner, quiero ver portal de facturacion Stripe P1 3 Backlog

Total Story Points: 34 SP


Criterios de Aceptacion

Funcionales:

  • Crear Customer en Stripe al registrar tenant
  • Agregar/actualizar metodos de pago via Stripe Elements
  • Crear Subscription con quantity = usuarios
  • Actualizar quantity automaticamente al agregar/remover usuarios
  • Procesar webhooks: invoice.paid, payment_failed, subscription.updated, etc.
  • Cancelar suscripcion al final del periodo
  • Redirigir a Stripe Customer Portal

No Funcionales:

  • Webhook retry logic
  • Idempotencia en procesamiento de webhooks
  • Logs de todas las transacciones

Webhooks a Implementar

Evento Accion
customer.subscription.created Registrar suscripcion
customer.subscription.updated Actualizar estado/cantidad
customer.subscription.deleted Marcar suscripcion cancelada
invoice.created Registrar factura draft
invoice.finalized Actualizar factura a open
invoice.paid Marcar factura pagada, activar tenant
invoice.payment_failed Alertar, iniciar dunning
payment_intent.succeeded Registrar pago
payment_intent.payment_failed Registrar intento fallido

Dependencias

Depende de:

  • EPIC-MGN-016 Billing (Ready)
  • EPIC-MGN-004 Tenants (Ready)

Bloquea:

  • EPIC-MGN-018 WhatsApp (feature flag por plan)
  • EPIC-MGN-019 AI Agents (feature flag por plan)

Desglose Tecnico

Database:

  • Tabla: stripe_customers
  • Tabla: stripe_webhook_events

Backend:

  • Service: StripeService
  • Controller: StripeWebhookController
  • Job: SyncStripeDataJob

Integraciones:

  • Stripe SDK (Node.js)
  • Stripe Elements (Frontend)
  • Stripe Customer Portal

Creado por: Requirements-Analyst Fecha: 2025-12-05