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

7.4 KiB

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


Ultima Actualizacion: 2026-01-10