/home/ejrndhmu/tokobiolink.com/package_invoice.php
<?php
session_start();
require_once 'config/database.php';
require_once 'includes/functions.php';

// Ambil nomor order dari URL
$orderNumber = $_GET['order'] ?? '';

if (empty($orderNumber)) {
    die('Nomor order tidak valid');
}

// Ambil data pesanan
$order = getResellerOrderByNumber($orderNumber);

if (!$order) {
    die('Pesanan tidak ditemukan');
}

// Hitung waktu expired pembayaran (24 jam dari pembuatan order)
$expiredTime = strtotime($order['created_at']) + (24 * 60 * 60);
$isExpired = time() > $expiredTime;
$timeLeft = $expiredTime - time();

// Format waktu tersisa
function formatTimeLeft($seconds) {
    if ($seconds <= 0) return 'Expired';
    
    $hours = floor($seconds / 3600);
    $minutes = floor(($seconds % 3600) / 60);
    $seconds = $seconds % 60;
    
    return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
}

// Decode product access untuk menampilkan produk
$productAccess = json_decode($order['product_access'], true) ?: [];
$productNames = [];
if (!empty($productAccess)) {
    try {
        $db = new Database();
        $placeholders = str_repeat('?,', count($productAccess) - 1) . '?';
        $db->query("SELECT name FROM products WHERE id IN ($placeholders) AND status = 'active'");
        foreach ($productAccess as $index => $productId) {
            $db->bind($index + 1, $productId);
        }
        $products = $db->resultset();
        $productNames = array_column($products, 'name');
    } catch (Exception $e) {
        error_log("Error getting product names: " . $e->getMessage());
    }
}

// Ambil nomor WhatsApp admin/reseller untuk konfirmasi
$whatsappNumber = '';
try {
    $db = new Database();
    // Cek apakah ada nomor konfirmasi khusus di pengaturan Telegram
    $db->query('SELECT confirmation_phone FROM reseller_telegram_settings WHERE reseller_id = :reseller_id');
    $db->bind(':reseller_id', $order['reseller_id']);
    $telegramSettings = $db->single();
    
    if ($telegramSettings && !empty($telegramSettings['confirmation_phone'])) {
        // Gunakan nomor konfirmasi dari pengaturan Telegram
        $whatsappNumber = $telegramSettings['confirmation_phone'];
    } else {
        // Fallback ke nomor WhatsApp reseller default
        $db->query('SELECT whatsapp_number FROM users WHERE id = :reseller_id');
        $db->bind(':reseller_id', $order['reseller_id']);
        $reseller = $db->single();
        if ($reseller && !empty($reseller['whatsapp_number'])) {
            $whatsappNumber = $reseller['whatsapp_number'];
        }
    }
} catch (Exception $e) {
    error_log("Error getting reseller WhatsApp: " . $e->getMessage());
}

// Buat pesan WhatsApp
$whatsappMessage = "Halo, saya sudah melakukan pembayaran untuk:\n\n";
$whatsappMessage .= "📋 *Detail Pesanan*\n";
$whatsappMessage .= "• Nomor Order: {$order['order_number']}\n";
$whatsappMessage .= "• Paket: {$order['package_name']}\n";
$whatsappMessage .= "• Nama: {$order['customer_name']}\n";
$whatsappMessage .= "• Email: {$order['customer_email']}\n";
$whatsappMessage .= "• Total: Rp " . number_format($order['total_amount'], 0, ',', '.') . "\n\n";
$whatsappMessage .= "💳 *Pembayaran ke:*\n";
$whatsappMessage .= "• Bank: {$order['bank_name']}\n";
$whatsappMessage .= "• No. Rekening: {$order['account_number']}\n";
$whatsappMessage .= "• Atas Nama: {$order['account_holder']}\n\n";
$whatsappMessage .= "Mohon untuk segera diaktifkan. Terima kasih! 🙏";

$whatsappUrl = 'https://wa.me/' . preg_replace('/[^0-9]/', '', $whatsappNumber) . '?text=' . urlencode($whatsappMessage);
?>

<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Invoice - <?= htmlspecialchars($order['order_number']) ?></title>
    <script src="https://cdn.tailwindcss.com"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <?php
    // Add Meta Pixel for purchase tracking (only if order is active/paid)
    if ($order && $order['reseller_id'] && $order['status'] === 'active') {
        echo getMetaPixelCode($order['reseller_id'], 'purchase');
    }
    ?>
</head>
<body class="bg-gray-50">
    <div class="min-h-screen py-8">
        <div class="max-w-4xl mx-auto px-4">
            <!-- Header -->
            <div class="text-center mb-8">
                <h1 class="text-3xl font-bold text-gray-800 mb-2">Invoice Pembayaran</h1>
                <p class="text-gray-600">Nomor Order: <strong><?= htmlspecialchars($order['order_number']) ?></strong></p>
            </div>
            
            <!-- Status Alert -->
            <?php if ($order['status'] === 'active'): ?>
                <div class="bg-green-50 border border-green-200 text-green-700 px-6 py-4 rounded-lg mb-6">
                    <div class="flex items-center">
                        <i class="fas fa-check-circle text-2xl mr-3"></i>
                        <div>
                            <h3 class="font-semibold">Pesanan Sudah Aktif!</h3>
                            <p class="text-sm">Akun Anda telah diaktifkan dan dapat digunakan hingga <?= date('d/m/Y', strtotime($order['expires_at'])) ?></p>
                        </div>
                    </div>
                </div>
            <?php elseif ($isExpired): ?>
                <div class="bg-red-50 border border-red-200 text-red-700 px-6 py-4 rounded-lg mb-6">
                    <div class="flex items-center">
                        <i class="fas fa-exclamation-triangle text-2xl mr-3"></i>
                        <div>
                            <h3 class="font-semibold">Invoice Expired</h3>
                            <p class="text-sm">Batas waktu pembayaran telah habis. Silakan hubungi reseller untuk membuat pesanan baru.</p>
                        </div>
                    </div>
                </div>
            <?php else: ?>
                <div class="bg-yellow-50 border border-yellow-200 text-yellow-700 px-6 py-4 rounded-lg mb-6">
                    <div class="flex items-center justify-between">
                        <div class="flex items-center">
                            <i class="fas fa-clock text-2xl mr-3"></i>
                            <div>
                                <h3 class="font-semibold">Menunggu Pembayaran</h3>
                                <p class="text-sm">Silakan lakukan pembayaran sebelum batas waktu berakhir</p>
                            </div>
                        </div>
                        <div class="text-right">
                            <div class="text-lg font-bold" id="countdown"><?= formatTimeLeft($timeLeft) ?></div>
                            <div class="text-xs">Sisa Waktu</div>
                        </div>
                    </div>
                </div>
            <?php endif; ?>
            
            <div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
                <!-- Order Details -->
                <div class="bg-white rounded-lg shadow-md p-6">
                    <h2 class="text-xl font-semibold text-gray-800 mb-4">
                        <i class="fas fa-file-invoice text-blue-500 mr-2"></i>
                        Detail Pesanan
                    </h2>
                    
                    <div class="space-y-4">
                        <div class="flex justify-between py-2 border-b">
                            <span class="text-gray-600">Nomor Order:</span>
                            <span class="font-medium"><?= htmlspecialchars($order['order_number']) ?></span>
                        </div>
                        
                        <div class="flex justify-between py-2 border-b">
                            <span class="text-gray-600">Paket:</span>
                            <span class="font-medium"><?= htmlspecialchars($order['package_name']) ?></span>
                        </div>
                        
                        <div class="flex justify-between py-2 border-b">
                            <span class="text-gray-600">Durasi:</span>
                            <span class="font-medium"><?= $order['duration_days'] ?> hari</span>
                        </div>
                        
                        <div class="flex justify-between py-2 border-b">
                            <span class="text-gray-600">Reseller:</span>
                            <span class="font-medium"><?= htmlspecialchars($order['reseller_name']) ?></span>
                        </div>
                        
                        <div class="flex justify-between py-2 border-b">
                            <span class="text-gray-600">Tanggal Order:</span>
                            <span class="font-medium"><?= date('d/m/Y H:i', strtotime($order['created_at'])) ?></span>
                        </div>
                        
                        <div class="flex justify-between py-2 text-lg font-semibold">
                            <span>Total Pembayaran:</span>
                            <span class="text-blue-600">Rp <?= number_format($order['total_amount'], 0, ',', '.') ?></span>
                        </div>
                        
                        <?php if (!empty($productNames)): ?>
                            <div class="pt-4">
                                <h4 class="font-medium text-gray-800 mb-2">Akses Produk:</h4>
                                <ul class="space-y-1">
                                    <?php foreach ($productNames as $productName): ?>
                                        <li class="flex items-center text-sm text-gray-600">
                                            <i class="fas fa-download text-blue-500 mr-2"></i>
                                            <?= htmlspecialchars($productName) ?>
                                        </li>
                                    <?php endforeach; ?>
                                </ul>
                            </div>
                        <?php endif; ?>
                    </div>
                </div>
                
                <!-- Payment Info -->
                <div class="bg-white rounded-lg shadow-md p-6">
                    <h2 class="text-xl font-semibold text-gray-800 mb-4">
                        <i class="fas fa-credit-card text-green-500 mr-2"></i>
                        Informasi Pembayaran
                    </h2>
                    
                    <div class="space-y-4">
                        <div class="bg-gray-50 p-4 rounded-lg">
                            <h3 class="font-medium text-gray-800 mb-2">Transfer ke:</h3>
                            <div class="space-y-2">
                                <div class="flex justify-between">
                                    <span class="text-gray-600">Bank:</span>
                                    <span class="font-medium"><?= htmlspecialchars($order['bank_name']) ?></span>
                                </div>
                                <div class="flex justify-between">
                                    <span class="text-gray-600">No. Rekening:</span>
                                    <span class="font-medium font-mono"><?= htmlspecialchars($order['account_number']) ?></span>
                                </div>
                                <div class="flex justify-between">
                                    <span class="text-gray-600">Atas Nama:</span>
                                    <span class="font-medium"><?= htmlspecialchars($order['account_holder']) ?></span>
                                </div>
                            </div>
                        </div>
                        
                        <div class="bg-blue-50 p-4 rounded-lg">
                            <h3 class="font-medium text-blue-800 mb-2">Jumlah Transfer:</h3>
                            <div class="text-2xl font-bold text-blue-600">Rp <?= number_format($order['total_amount'], 0, ',', '.') ?></div>
                            <p class="text-xs text-blue-600 mt-1">Transfer sesuai nominal di atas</p>
                        </div>
                        
                        <div class="space-y-3">
                            <h3 class="font-medium text-gray-800">Langkah Pembayaran:</h3>
                            <ol class="list-decimal list-inside space-y-2 text-sm text-gray-600">
                                <li>Transfer sesuai nominal ke rekening di atas</li>
                                <li>Simpan bukti transfer</li>
                                <li>Klik tombol "Konfirmasi Pembayaran" di bawah</li>
                                <li>Kirim bukti transfer via WhatsApp</li>
                                <li>Tunggu aktivasi dari reseller</li>
                            </ol>
                        </div>
                        
                        <?php if ($order['status'] === 'pending' && !$isExpired && !empty($whatsappNumber)): ?>
                            <div class="pt-4">
                                <a href="<?= htmlspecialchars($whatsappUrl) ?>" target="_blank" 
                                   class="w-full bg-green-600 hover:bg-green-700 text-white font-medium py-3 px-4 rounded-lg transition duration-200 flex items-center justify-center">
                                    <i class="fab fa-whatsapp mr-2 text-lg"></i>
                                    Konfirmasi Pembayaran via WhatsApp
                                </a>
                            </div>
                        <?php endif; ?>
                    </div>
                </div>
            </div>
            
            <!-- Customer Info -->
            <div class="bg-white rounded-lg shadow-md p-6 mt-8">
                <h2 class="text-xl font-semibold text-gray-800 mb-4">
                    <i class="fas fa-user text-purple-500 mr-2"></i>
                    Informasi Pelanggan
                </h2>
                
                <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                    <div>
                        <div class="space-y-3">
                            <div class="flex justify-between py-2 border-b">
                                <span class="text-gray-600">Nama:</span>
                                <span class="font-medium"><?= htmlspecialchars($order['customer_name']) ?></span>
                            </div>
                            <div class="flex justify-between py-2 border-b">
                                <span class="text-gray-600">Email:</span>
                                <span class="font-medium"><?= htmlspecialchars($order['customer_email']) ?></span>
                            </div>
                            <div class="flex justify-between py-2">
                                <span class="text-gray-600">WhatsApp:</span>
                                <span class="font-medium"><?= htmlspecialchars($order['customer_phone']) ?></span>
                            </div>
                        </div>
                    </div>
                    
                    <div class="bg-yellow-50 p-4 rounded-lg">
                        <h3 class="font-medium text-yellow-800 mb-2">
                            <i class="fas fa-info-circle mr-1"></i>
                            Informasi Penting
                        </h3>
                        <ul class="text-sm text-yellow-700 space-y-1">
                            <li>• Akun akan diaktifkan setelah pembayaran dikonfirmasi</li>
                            <li>• Simpan nomor order untuk referensi</li>
                            <li>• Hubungi reseller jika ada kendala</li>
                            <?php if ($order['status'] === 'pending'): ?>
                                <li>• Batas waktu pembayaran: 24 jam</li>
                            <?php endif; ?>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
    </div>
    
    <?php if ($order['status'] === 'pending' && !$isExpired): ?>
    <script>
        // Countdown timer
        let timeLeft = <?= $timeLeft ?>;
        
        function updateCountdown() {
            if (timeLeft <= 0) {
                document.getElementById('countdown').textContent = 'Expired';
                location.reload(); // Refresh halaman ketika expired
                return;
            }
            
            const hours = Math.floor(timeLeft / 3600);
            const minutes = Math.floor((timeLeft % 3600) / 60);
            const seconds = timeLeft % 60;
            
            document.getElementById('countdown').textContent = 
                String(hours).padStart(2, '0') + ':' + 
                String(minutes).padStart(2, '0') + ':' + 
                String(seconds).padStart(2, '0');
            
            timeLeft--;
        }
        
        // Update setiap detik
        setInterval(updateCountdown, 1000);
    </script>
    <?php endif; ?>
</body>
</html>