# Documentación de Webhooks para Integración con PagoPar

## Estructura Actual del Sistema

Después de la limpieza y optimización, el sistema de webhooks ha quedado estructurado de la siguiente manera:

### Webhooks Principales (Producción)

1. **`webhook_pagopar.php`**
   - **Función**: Webhook principal para recibir notificaciones de PagoPar
   - **Uso**: Este es el endpoint principal que debe configurarse en el panel de PagoPar
   - **Formato**: Utiliza el formato correcto de tokens (SHA1 para private_key+"CONSULTA", pero NO aplica SHA1 al public_key)

2. **`webhook_pagopar_alt.php`**
   - **Función**: Webhook alternativo (backup)
   - **Uso**: Puede configurarse como endpoint secundario o de respaldo

### Respaldos y Archivos de Prueba

Todos los demás webhooks de prueba fueron respaldados en `backup_webhooks_20251020_222456/` y eliminados del directorio principal para mantener un entorno limpio y seguro.

## Formato Correcto para PagoPar

Después de varias pruebas, se determinó que el formato correcto para la validación del Paso 3 es:

```php
// CORRECTO: Aplicar SHA1 solo a private_key + "CONSULTA", pero NO al public_key
$token = sha1($private_key . "CONSULTA") . $public_key;
```

El error común era aplicar SHA1 también al public_key, lo que generaba el error "Token no corresponde".

## Archivos de Configuración Importantes

- **`pagopar_config.php`**: Contiene las credenciales y configuraciones para PagoPar
- **`resultado_pago_pagopar.php`**: Procesa los resultados de pago recibidos

## Proceso de Integración con PagoPar

1. **Configuración Inicial**
   - Establecer credenciales en `pagopar_config.php`
   - Verificar que los webhooks estén accesibles públicamente

2. **Procesamiento de Pagos**
   - El cliente inicia el pago → `iniciar_pago_pagopar.php`
   - PagoPar procesa el pago y envía notificación → `webhook_pagopar.php`
   - El sistema actualiza el estado del pedido → `resultado_pago_pagopar.php`

3. **Validación y Verificación**
   - El sistema ha sido validado correctamente para el Paso 3 de PagoPar
   - La estructura actual está lista para producción

## Mantenimiento

Para preservar la integridad del sistema, se recomienda:

1. No modificar los webhooks principales sin realizar pruebas exhaustivas
2. Cualquier prueba debe realizarse en archivos temporales y luego eliminarlos
3. Mantener actualizada la documentación si se realizan cambios en el flujo de pagos

---

## Fecha de Documentación

Documentación generada el 20/10/2025
