- 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>
7.4 KiB
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:
-
OXXO via Stripe
- Usar Stripe OXXO vouchers
- Integracion simple (misma cuenta Stripe)
- Cobertura de 20,000+ tiendas
- Comision ~3.6%
-
7-Eleven via Conekta
- Usar Conekta como agregador
- Cobertura de 2,000+ tiendas
- Comision ~3.9%
- Implementar post-MVP si demanda lo justifica
-
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
- MVP (P0): Tarjeta (Stripe) + OXXO (Stripe)
- Post-MVP (P1): 7-Eleven (Conekta)
- Futuro: SPEI, otros metodos si demanda existe
Referencias
- MII-011 - Pagos tarjeta
- MII-012 - Pagos OXXO
- MII-013 - Pagos 7-Eleven
- INT-001 - Integracion Stripe
- INT-002 - Integracion OXXO
Ultima Actualizacion: 2026-01-10