miinventario-v2/docs/97-adr/ADR-0004-pagos-efectivo-mexico.md
rckrdmrd 1a53b5c4d3 [MIINVENTARIO] feat: Initial commit - Sistema de inventario con análisis de video IA
- Backend NestJS con módulos de autenticación, inventario, créditos
- Frontend React con dashboard y componentes UI
- Base de datos PostgreSQL con migraciones
- Tests E2E configurados
- Configuración de Docker y deployment

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 02:25:48 -06:00

211 lines
7.4 KiB
Markdown

# ADR-0004: Pagos en Efectivo Mexico
---
id: ADR-0004
type: ADR
status: Aceptado
created_date: 2026-01-10
updated_date: 2026-01-10
decision_date: 2026-01-10
deciders: ["Product Owner", "Tech Lead"]
---
## Estado
**Aceptado**
---
## Contexto
El mercado objetivo de MiInventario son pequenos negocios en Mexico:
- 60-70% de transacciones en Mexico son en efectivo
- Muchos usuarios no tienen tarjeta de credito/debito
- OXXO tiene 20,000+ tiendas en Mexico
- 7-Eleven tiene 2,000+ tiendas
- Los usuarios confian en pagar en tiendas de conveniencia
Ofrecer solo pago con tarjeta excluiria a gran parte del mercado objetivo.
---
## Decision
Implementar **pagos en efectivo via OXXO y 7-Eleven**:
1. **OXXO via Stripe**
- Usar Stripe OXXO vouchers
- Integracion simple (misma cuenta Stripe)
- Cobertura de 20,000+ tiendas
- Comision ~3.6%
2. **7-Eleven via Conekta**
- Usar Conekta como agregador
- Cobertura de 2,000+ tiendas
- Comision ~3.9%
- Implementar post-MVP si demanda lo justifica
3. **Flujo comun**
- Usuario selecciona paquete
- Genera voucher/referencia con codigo de barras
- Paga en tienda con efectivo
- Recibe creditos via webhook (10-30 min)
---
## Opciones Consideradas
### Opcion A: Solo tarjeta de credito/debito
| Aspecto | Valor |
|---------|-------|
| Cobertura | ~30% del mercado |
| Complejidad | Baja |
| Conversion | Baja |
| UX | Simple |
**Descartada:** Excluye mayoria del mercado objetivo.
### Opcion B: OXXO solo
| Aspecto | Valor |
|---------|-------|
| Cobertura | Alta (20k tiendas) |
| Complejidad | Media |
| Conversion | Alta |
| Integracion | Simple (Stripe) |
**Parcialmente seleccionada:** OXXO es prioritario (P0).
### Opcion C: OXXO + 7-Eleven (Seleccionada)
| Aspecto | Valor |
|---------|-------|
| Cobertura | Maxima |
| Complejidad | Media-Alta |
| Conversion | Maxima |
| Integracion | 2 proveedores |
**Seleccionada:** Cobertura maxima, 7-Eleven como P1 post-MVP.
---
## Consecuencias
### Positivas
- **Inclusion financiera**: Usuarios sin tarjeta pueden pagar
- **Confianza**: Usuarios confian en OXXO/7-Eleven
- **Conversion**: Mayor tasa de conversion
- **Mercado amplio**: Acceso a 70% adicional del mercado
- **Competitividad**: Diferenciador vs competencia
### Negativas
- **Asincronico**: Pago no es instantaneo (10-30 min)
- **Expiracion**: Vouchers expiran (24-72h)
- **Complejidad**: Webhooks, reconciliacion
- **Abandono**: Usuario puede no pagar
- **Costos**: Comisiones ligeramente mayores
---
## Comparativa de Opciones
| Aspecto | Tarjeta | OXXO | 7-Eleven |
|---------|---------|------|----------|
| Tiempo | Instantaneo | 10-30 min | 5-15 min |
| Comision | ~3% | ~3.6% | ~3.9% |
| Cobertura | Universal | 20k tiendas | 2k tiendas |
| Expiracion | N/A | 72h | 48h |
| Integracion | Stripe | Stripe | Conekta |
| Prioridad | P0 | P0 | P1 |
---
## Flujo de Usuario OXXO
```
┌─────────────────────────────────────────────────────────────────┐
│ FLUJO PAGO OXXO │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 1. Usuario selecciona paquete │
│ ┌─────────────────────────────────────┐ │
│ │ Paquete Popular - $100 MXN │ │
│ │ ≈ 8-10 inventarios │ │
│ │ [Pagar OXXO] │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ 2. Genera voucher │
│ ┌─────────────────────────────────────┐ │
│ │ |||||||||||||||||||||||||||||| │ │
│ │ Referencia: 1234 5678 9012 3456 │ │
│ │ Monto: $100.00 MXN │ │
│ │ Expira: 12 Ene, 10:30 AM │ │
│ │ │ │
│ │ [Compartir] [Guardar] │ │
│ └─────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ 3. Usuario va a OXXO y paga │
│ │ │
│ ▼ │
│ 4. Webhook confirma pago (10-30 min) │
│ │ │
│ ▼ │
│ 5. Push notification + creditos acreditados │
│ ┌─────────────────────────────────────┐ │
│ │ ✓ Pago confirmado │ │
│ │ +8.5 creditos a tu cuenta │ │
│ └─────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
```
---
## Manejo de Casos Edge
| Caso | Solucion |
|------|----------|
| Voucher expira | Cancelar orden, notificar usuario |
| Pago parcial | No permitido (monto fijo) |
| Doble pago | Detectar por idempotencia, reembolsar |
| Webhook falla | Retry automatico, reconciliacion diaria |
| Usuario no paga | Expira automaticamente |
---
## Metricas
| Metrica | Objetivo |
|---------|----------|
| Conversion OXXO | > 60% de vouchers pagados |
| Tiempo promedio | < 24h desde voucher |
| Tasa de expiracion | < 30% |
| Errores de webhook | < 0.1% |
---
## Plan de Implementacion
1. **MVP (P0)**: Tarjeta (Stripe) + OXXO (Stripe)
2. **Post-MVP (P1)**: 7-Eleven (Conekta)
3. **Futuro**: SPEI, otros metodos si demanda existe
---
## Referencias
- [MII-011](../01-epicas/MII-011-pagos-tarjeta.md) - Pagos tarjeta
- [MII-012](../01-epicas/MII-012-pagos-oxxo.md) - Pagos OXXO
- [MII-013](../01-epicas/MII-013-pagos-7eleven.md) - Pagos 7-Eleven
- [INT-001](../02-integraciones/INT-001-stripe.md) - Integracion Stripe
- [INT-002](../02-integraciones/INT-002-oxxo.md) - Integracion OXXO
---
**Ultima Actualizacion:** 2026-01-10