home
/
u529748449
/
domains
/
borabilhete.com
/
public_html
/
public
➕ New
📤 Upload
✎ Editing:
pagar_pix.php
← Back
<?php require __DIR__ . '/../vendor/autoload.php'; include '../admin/conexao.php'; error_reporting(E_ALL); ini_set('display_errors', 1); MercadoPago\SDK::setAccessToken('APP_USR-3015882569703700-071711-383174b1d312d3019b1612810d746d03-213132560'); $id_pedido = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT); if (!$id_pedido) { exit('⚠️ Pedido inválido.'); } // Busca dados do pedido $stmt = $conn->prepare("SELECT nome_cliente, email, token_seguro FROM pedidos WHERE id = ?"); $stmt->bind_param("i", $id_pedido); $stmt->execute(); $result = $stmt->get_result(); $pedido = $result->fetch_assoc(); if (!$pedido) { exit('⚠️ Pedido não encontrado.'); } $token_seguro = $pedido['token_seguro'] ?? ''; // Busca total do pedido $stmt_total = $conn->prepare("SELECT SUM(valor_total) AS total FROM pedidos_itens WHERE id_pedido = ?"); $stmt_total->bind_param("i", $id_pedido); $stmt_total->execute(); $result_total = $stmt_total->get_result(); $row_total = $result_total->fetch_assoc(); $total = floatval($row_total['total']); if ($total <= 0) { exit('⚠️ Total do pedido é inválido ou zero.'); } // Cria pagamento Pix $payment = new MercadoPago\Payment(); $payment->transaction_amount = $total; $payment->description = "Pagamento do pedido #$id_pedido"; // ESSENCIAL para o webhook $payment->payment_method_id = "pix"; $payment->payer = [ "email" => $pedido['email'], "first_name" => $pedido['nome_cliente'] ?: 'Cliente', "last_name" => "" ]; $payment->metadata = [ "id_pedido" => $id_pedido ]; $payment->save(); ?> <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <title>Pagamento Pix</title> </head> <body> <?php if (isset($payment->point_of_interaction)) { $qr = $payment->point_of_interaction->transaction_data; ?> <h2>Pagamento via Pix</h2> <p><strong>Pedido:</strong> #<?php echo htmlspecialchars($id_pedido); ?></p> <p><strong>Total:</strong> R$ <?php echo number_format($payment->transaction_amount, 2, ',', '.'); ?></p> <p>Copie o código Pix abaixo:</p> <textarea cols="80" rows="5"><?php echo htmlspecialchars($qr->qr_code); ?></textarea> <p>Ou escaneie o QR Code:</p> <img src="data:image/png;base64,<?php echo htmlspecialchars($qr->qr_code_base64); ?>" alt="QR Code Pix" /> <p><a href="eventos.php">← Voltar para eventos</a></p> <?php } else { ?> <p style="color:red;">❌ Erro ao gerar pagamento Pix.</p> <pre><?php var_dump($payment->error ?? 'Erro desconhecido.'); ?></pre> <?php } ?> <script> const idPedido = <?php echo $id_pedido; ?>; function verificarPagamento() { fetch("verifica_pagamento.php?id=" + idPedido + "&t=" + new Date().getTime()) .then(res => res.text()) .then(status => { console.log("Status pagamento:", status); if (status.trim() === 'pago') { window.location.href = 'sucesso.php?token=<?= urlencode($token_seguro) ?>'; } }); } setInterval(verificarPagamento, 5000); </script> </body> </html>
💾 Save Changes
Cancel
📤 Upload File
×
Select File
Upload
Cancel
➕ Create New
×
Type
📄 File
📁 Folder
Name
Create
Cancel
✎ Rename Item
×
Current Name
New Name
Rename
Cancel
🔐 Change Permissions
×
Target File
Permission (e.g., 0755, 0644)
0755
0644
0777
Apply
Cancel