# SIIP - Generador de Payment Intents Stripe

![Version](https://img.shields.io/badge/version-1.3.0-blue.svg)
![UCRM Compliancy](https://img.shields.io/badge/UCRM-v1.0.0%2B-success.svg)
![PHP](https://img.shields.io/badge/PHP-7.4%2B-777bb4.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)

Plugin de UISP CRM para generar manualmente intenciones de pago utilizando Stripe.

## Descripción
Este plugin permite buscar clientes en la base de datos de UISP CRM y generar intenciones de pago (Payment Intents) en Stripe, utilizando el "Stripe Customer ID" almacenado en los atributos personalizados del cliente. Utiliza el saldo del cliente en Stripe si está disponible o genera una referencia bancaria.

![Vista General](img/vista-general.png)

## Requisitos
- UISP CRM versión 1.0.0 o superior.
- Cuenta de Stripe configurada y claves de API (Secret Key).
- Atributo personalizado en los clientes de CRM con el nombre "Stripe Customer ID" o key "stripeCustomerId".

## Configuración
1.  Instale el plugin en UISP CRM.
2.  Vaya a la configuración del plugin:
    - **Dirección IP o dominio del servidor**: Dirección donde se aloja su CRM (ej. `crm.miempresa.com`).
    - **Token de la API UISP CRM**: Token con permisos de lectura/escritura (App Key).
    - **Token de la API Stripe**: Clave secreta de su cuenta Stripe (sk_live_... o sk_test_...).
    - **Opciones de Log**: Active si requiere depuración.

## Uso
1.  Acceda al plugin desde el menú de Reportes o el enlace configurado.
2.  Escriba el nombre, ID o dirección del cliente en la barra de búsqueda.
3.  Seleccione el cliente de la lista de sugerencias.
4.  Verifique los datos del cliente (Nombre, ID, Email, Stripe ID).
5.  Ingrese el monto a cobrar (mínimo $10.00 MXN).
6.  Haga clic en "Generar Intención de Pago" y confirme la operación.

## Automatización de Pagos (Webhooks)
Para que los pagos se registren automáticamente en UCRM, debe configurar un Webhook en su Dashboard de Stripe:
1.  **Endpoint URL**: `https://SU-DOMINIO/crm/plugin/siip-stripe-payment_intents/public.php?action=webhook`
2.  **Eventos a Escuchar**: 
    - `payment_intent.succeeded` (Para pagos inmediatos con saldo).
    - `customer_cash_balance_transaction.created` (Para pagos vía transferencia SPEI).

## Notas
- El plugin valida que el monto sea mayor a $10.00 MXN.
- Si el cliente no tiene un "Stripe Customer ID", no se permitirá generar el pago.

---
**Versión**: 1.3.0
**Copyright**: © 2024 SIIP Internet. Todos los derechos reservados.
