# Manual de Uso — Tienda Online

## 1) ¿Qué es esta aplicación?

Esta plataforma permite:

- Registro e inicio de sesión de clientes.
- Navegación y búsqueda de productos.
- Gestión de carrito de compra.
- Creación de pedidos.
- Pago en línea con Stripe (tarjeta y métodos habilitados en Stripe).
- Contacto por WhatsApp.

---

## 2) Requisitos para usarla

- Navegador moderno (Chrome, Edge, Firefox, Safari).
- Conexión a internet.
- Cuenta de usuario registrada (para carrito, checkout y pedidos).

---

## 3) Flujo completo de compra (cliente)

## Paso 1. Crear cuenta / iniciar sesión

1. Ir a `/register` para crear cuenta, o `/login` para iniciar sesión.
2. Completar credenciales válidas.
3. Al iniciar sesión, el sistema guarda la sesión mediante token.

## Paso 2. Explorar productos

1. Ir a `/productos`.
2. Ver catálogo y entrar al detalle de producto.
3. Confirmar precio y disponibilidad.

## Paso 3. Agregar al carrito

1. Desde listado o detalle, usar **Agregar al carrito**.
2. Ir a `/carrito` para:
   - aumentar/disminuir cantidades,
   - quitar productos,
   - vaciar carrito.

## Paso 4. Checkout

1. Ir a `/checkout`.
2. Completar dirección de envío.
3. Ingresar medio de pago en formulario seguro de Stripe.
4. Confirmar pago.

## Paso 5. Confirmación del pedido

1. Si el pago se procesa correctamente, el sistema intenta crear el pedido.
2. Se redirige al detalle de pedido en `/pedidos/:id`.
3. El historial puede revisarse en `/pedidos`.

---

## 4) Pago de servicios desde página de inicio

En la página principal (`/`) hay botones **CONTRATAR** para servicios.

- Al hacer clic, se crea una sesión de Stripe Checkout.
- El usuario es redirigido a Stripe para finalizar el pago.

---

## 5) Estados esperados durante la compra

- Carrito: `activo` o `completado`.
- Pedido: inicialmente `pendiente` y luego puede cambiar según operación interna.
- Pago: `pendiente`, `completado`, `fallido` o `reembolsado`.

---

## 6) Contacto por WhatsApp

- Botón flotante en la interfaz.
- Endpoint backend: `/api/whatsapp/contact-info`.
- El enlace se construye con número y mensaje por defecto configurables.

---

## 7) Problemas frecuentes y solución rápida

## No puedo iniciar sesión

- Validar email/contraseña.
- Cerrar sesión y volver a intentar.
- Verificar que el backend esté activo.

## No aparecen productos

- Verificar que existan productos activos en base de datos.
- Revisar conectividad backend ↔ base de datos.

## Error al pagar

- Verificar conexión a internet.
- Probar otra tarjeta o método.
- Confirmar que el backend esté operativo.
- Si el mensaje indica “pago exitoso pero error creando pedido”, contactar soporte técnico.

## No carga carrito o pedidos

- Confirmar sesión iniciada.
- Si expiró sesión, volver a login.

---

## 8) Buenas prácticas para usuarios administrativos

- Revisar periódicamente pedidos en panel admin.
- Mantener catálogo actualizado (stock/precios).
- Validar funcionamiento de checkout después de cambios en configuración.

---

## 9) Soporte

Para incidencias de pagos:

1. Indicar fecha/hora del intento.
2. Compartir email del usuario.
3. Adjuntar captura del error y pantalla.
4. Si existe, incluir ID de transacción.

Con esto el equipo técnico puede rastrear más rápido en logs y base de datos.
