# Configuración de Culqi para Torino

## 🚀 Pasos para Configurar Culqi

### 1. Actualizar PHP
**IMPORTANTE**: Necesitas PHP 8.2 o superior para que funcione Laravel 12 y Culqi.

```bash
# Verificar versión actual
php -v

# Si tienes PHP 7.4, necesitas actualizar
# En Windows con XAMPP/Laragon, descarga la nueva versión
# En Linux: sudo apt update && sudo apt install php8.2
```

### 2. Instalar Dependencias
```bash
# Instalar Culqi PHP SDK
composer require culqi/culqi-php

# Si hay errores de versión, primero actualiza PHP
```

### 3. Crear Cuenta en Culqi
1. Ve a [Culqi.com](https://culqi.com)
2. Haz clic en "Registrarse"
3. Completa el formulario con tus datos
4. Verifica tu email
5. Completa la verificación de tu negocio

### 4. Obtener Credenciales de Culqi

#### En el Panel de Culqi:
1. Inicia sesión en tu cuenta
2. Ve a **Configuración > API Keys**
3. Copia tu **Public Key** (empieza con `pk_test_` o `pk_live_`)
4. Copia tu **Secret Key** (empieza con `sk_test_` o `sk_live_`)

#### Configurar Webhooks:
1. Ve a **Configuración > Webhooks**
2. Haz clic en "Agregar Webhook"
3. URL: `https://tu-dominio.com/webhook/culqi`
4. Eventos a escuchar:
   - `charge.succeeded`
   - `charge.failed`
5. Copia el **Webhook Secret** (empieza con `whsec_`)

### 5. Configurar Variables de Entorno

Copia el contenido de `env-example.txt` a tu archivo `.env`:

```env
# Configuración de Culqi
CULQI_PUBLIC_KEY=pk_test_tu_public_key_aqui
CULQI_SECRET_KEY=sk_test_tu_secret_key_aqui
CULQI_ENVIRONMENT=development
CULQI_WEBHOOK_SECRET=whsec_tu_webhook_secret_aqui
CULQI_CURRENCY=PEN
```

### 6. Ejecutar Migraciones
```bash
php artisan migrate
```

### 7. Probar la Integración

#### Tarjetas de Prueba:
- **Visa**: 4111111111111111
- **Mastercard**: 5555555555554444
- **Fecha**: Cualquier fecha futura
- **CVV**: Cualquier número de 3 dígitos

#### Yape/Plin de Prueba:
- Usa cualquier número de teléfono
- En desarrollo, se simula el pago

## 🔧 Configuración Avanzada

### Para Producción:
1. Cambia `CULQI_ENVIRONMENT=production`
2. Usa las claves de producción (empiezan con `pk_live_` y `sk_live_`)
3. Configura HTTPS en tu servidor
4. Actualiza la URL del webhook a tu dominio de producción

### Configurar SSL:
```bash
# En tu servidor web (Apache/Nginx)
# Asegúrate de que tu sitio use HTTPS
# Culqi requiere HTTPS para funcionar en producción
```

## 🧪 Testing

### 1. Probar Tarjetas:
```bash
# Ejecutar el servidor
php artisan serve

# Ir a http://localhost:8000/donate
# Seleccionar "Tarjeta"
# Usar tarjetas de prueba
```

### 2. Probar Webhooks:
```bash
# Usar ngrok para testing local
ngrok http 8000

# Actualizar URL del webhook en Culqi con la URL de ngrok
# Ejemplo: https://abc123.ngrok.io/webhook/culqi
```

### 3. Verificar Logs:
```bash
# Ver logs de Laravel
tail -f storage/logs/laravel.log

# Ver logs específicos de Culqi
tail -f storage/logs/culqi.log
```

## 🚨 Solución de Problemas

### Error: "PHP version >= 8.2.0 required"
```bash
# Actualizar PHP a 8.2 o superior
# En Windows: Descargar nueva versión de XAMPP/Laragon
# En Linux: sudo apt install php8.2
```

### Error: "Culqi.publicKey is not set"
```bash
# Verificar que CULQI_PUBLIC_KEY esté configurado en .env
# Ejecutar: php artisan config:clear
```

### Error: "Invalid API key"
```bash
# Verificar que las claves de Culqi sean correctas
# Asegurarse de usar claves de test para desarrollo
```

### Webhook no funciona:
```bash
# Verificar que la URL sea accesible desde internet
# Usar ngrok para testing local
# Verificar logs en storage/logs/laravel.log
```

## 📞 Soporte

Si tienes problemas:
1. Revisa los logs en `storage/logs/laravel.log`
2. Verifica la configuración en `.env`
3. Consulta la [documentación de Culqi](https://docs.culqi.com)
4. Contacta soporte de Culqi si es necesario

## 🔒 Seguridad

- **NUNCA** compartas tu Secret Key
- **SIEMPRE** usa HTTPS en producción
- **VERIFICA** las firmas de los webhooks
- **MANTÉN** actualizadas las dependencias



