<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Configuración URLs PagoPar</title>
    <style>
        body { font-family: system-ui; max-width: 900px; margin: 0 auto; padding: 20px; background: #f5f5f5; }
        .container { background: white; padding: 30px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); }
        .url-box { background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 5px; padding: 15px; margin: 10px 0; font-family: monospace; }
        .copy-btn { background: #007bff; color: white; border: none; padding: 5px 10px; border-radius: 3px; cursor: pointer; margin-left: 10px; }
        .copy-btn:hover { background: #0056b3; }
        .section { margin: 30px 0; padding: 20px; border-left: 4px solid #007bff; background: #f8f9fa; }
        .warning { border-left-color: #ffc107; background: #fff3cd; }
        .success { border-left-color: #28a745; background: #d4edda; }
        .test-result { margin: 10px 0; padding: 10px; border-radius: 5px; }
        .test-success { background: #d4edda; color: #155724; }
        .test-error { background: #f8d7da; color: #721c24; }
        table { width: 100%; border-collapse: collapse; margin: 20px 0; }
        th, td { padding: 12px; text-align: left; border-bottom: 1px solid #ddd; }
        th { background: #f8f9fa; }
        .btn { display: inline-block; padding: 10px 20px; background: #007bff; color: white; text-decoration: none; border-radius: 5px; margin: 5px; }
        .btn:hover { background: #0056b3; }
        .btn-test { background: #28a745; }
        .btn-alt { background: #ffc107; color: #212529; }
    </style>
</head>
<body>
    <div class="container">
        <h1>🔧 Configuración de URLs para PagoPar</h1>
        
        <div class="section success">
            <h3>✅ Estado Actual del Sistema</h3>
            <p>El webhook está funcionando correctamente y responde con "OK" a las notificaciones oficiales de PagoPar.</p>
        </div>

        <div class="section">
            <h3>📋 URLs para Configurar en PagoPar</h3>
            <p>Copia estas URLs exactamente como aparecen aquí y pégalas en tu panel de PagoPar:</p>
            
            <table>
                <tr>
                    <th>Tipo</th>
                    <th>URL</th>
                    <th>Uso</th>
                </tr>
                <tr>
                    <td><strong>Webhook Principal</strong></td>
                    <td>
                        <div class="url-box">
                            https://<?= $_SERVER['HTTP_HOST'] ?>/webhook_pagopar.php
                            <button class="copy-btn" onclick="copyToClipboard('https://<?= $_SERVER['HTTP_HOST'] ?>/webhook_pagopar.php')">📋 Copiar</button>
                        </div>
                    </td>
                    <td>URL de notificación principal</td>
                </tr>
                <tr>
                    <td><strong>Webhook Alternativo</strong></td>
                    <td>
                        <div class="url-box">
                            https://<?= $_SERVER['HTTP_HOST'] ?>/webhook_pagopar_alt.php
                            <button class="copy-btn" onclick="copyToClipboard('https://<?= $_SERVER['HTTP_HOST'] ?>/webhook_pagopar_alt.php')">📋 Copiar</button>
                        </div>
                    </td>
                    <td>Versión simplificada para testing</td>
                </tr>
                <tr>
                    <td><strong>URL de Retorno</strong></td>
                    <td>
                        <div class="url-box">
                            https://<?= $_SERVER['HTTP_HOST'] ?>/resultado_pago_pagopar.php
                            <button class="copy-btn" onclick="copyToClipboard('https://<?= $_SERVER['HTTP_HOST'] ?>/resultado_pago_pagopar.php')">📋 Copiar</button>
                        </div>
                    </td>
                    <td>Página donde regresa el usuario</td>
                </tr>
            </table>
        </div>

        <div class="section warning">
            <h3>⚠️ Posibles Razones por las que No Pasa la Validación</h3>
            <ol>
                <li><strong>Timeout de PagoPar:</strong> Su servidor puede tener un timeout muy corto</li>
                <li><strong>Respuesta esperada diferente:</strong> Pueden esperar solo HTTP 200 sin contenido</li>
                <li><strong>Headers específicos:</strong> Pueden requerir headers de respuesta específicos</li>
                <li><strong>SSL/TLS:</strong> Problemas con el certificado HTTPS</li>
                <li><strong>Caché:</strong> PagoPar puede estar usando una versión cacheada del webhook</li>
            </ol>
        </div>

        <div class="section">
            <h3>🧪 Tests en Vivo</h3>
            <p>Prueba los webhooks directamente:</p>
            
            <div style="display: flex; gap: 10px; flex-wrap: wrap;">
                <a href="test_webhook_pagopar.php" class="btn btn-test" target="_blank">🧪 Test Webhook Principal</a>
                <a href="test_webhook_alt.php" class="btn btn-alt" target="_blank">🧪 Test Webhook Alternativo</a>
                <a href="diagnostico_pagopar.php" class="btn" target="_blank">🔍 Diagnóstico Completo</a>
                <a href="panel_pagopar.php" class="btn" target="_blank">📊 Panel de Pedidos</a>
            </div>
        </div>

        <div class="section">
            <h3>📝 Logs de Debugging</h3>
            <p>Revisa estos archivos para ver qué está enviando PagoPar:</p>
            <ul>
                <li><code>logs/pagopar_webhook.log</code> - Webhook principal</li>
                <li><code>logs/pagopar_webhook_alt.log</code> - Webhook alternativo</li>
            </ul>
        </div>

        <div class="section">
            <h3>🎯 Pasos Recomendados</h3>
            <ol>
                <li><strong>Intenta con el webhook alternativo:</strong> Usa la URL del webhook alternativo en PagoPar</li>
                <li><strong>Verifica que HTTPS funcione:</strong> Asegúrate de que tu certificado SSL esté válido</li>
                <li><strong>Contacta a PagoPar:</strong> Si sigue sin funcionar, solicita soporte técnico</li>
                <li><strong>Logs específicos:</strong> Pide a PagoPar que te digan qué error ven en sus logs</li>
            </ol>
        </div>

        <div class="section success">
            <h3>✅ Último Test Exitoso</h3>
            <p>El webhook respondió correctamente:</p>
            <div class="test-result test-success">
                <strong>Respuesta:</strong> OK<br>
                <strong>Código HTTP:</strong> 200<br>
                <strong>Timestamp:</strong> <?= date('Y-m-d H:i:s') ?>
            </div>
        </div>
    </div>

    <script>
    function copyToClipboard(text) {
        navigator.clipboard.writeText(text).then(function() {
            alert('URL copiada al portapapeles');
        });
    }
    </script>
</body>
</html>

<?php
// Crear el archivo de test para el webhook alternativo si no existe
if (!file_exists('test_webhook_alt.php')) {
    $test_content = '<?php
/**
 * Test del webhook alternativo
 */

$datos_prueba = [
    "respuesta" => true,
    "resultado" => [[
        "numero_pedido" => "TEST",
        "hash_pedido" => "test_hash_123",
        "pagado" => false,
        "cancelado" => false,
        "monto" => "50000"
    ]]
];

echo "<h1>Test Webhook Alternativo</h1>";
echo "<h2>Datos de prueba:</h2>";
echo "<pre>" . json_encode($datos_prueba, JSON_PRETTY_PRINT) . "</pre>";

$url = "https://" . $_SERVER["HTTP_HOST"] . "/webhook_pagopar_alt.php";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($datos_prueba));
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo "<h2>Respuesta:</h2>";
echo "<p><strong>Código HTTP:</strong> " . $http_code . "</p>";
echo "<p><strong>Respuesta:</strong> " . htmlspecialchars($response) . "</p>";

if ($response === "OK" && $http_code === 200) {
    echo "<div style=\"color: green;\">✅ Webhook alternativo funciona correctamente</div>";
} else {
    echo "<div style=\"color: red;\">❌ Problema con el webhook alternativo</div>";
}
?>';
    
    file_put_contents('test_webhook_alt.php', $test_content);
}
?>