connect_error) { die("Connection failed: " . $conn->connect_error); } // Get logged-in username $username = $_SESSION['username']; // Function to generate random transaction ID function generateTransactionID() { $random1 = rand(100, 999); $random2 = rand(1000, 9999); return 'ID-' . $random1 . '-' . $random2; } // Initialize variables $message = ""; $showSuccessToast = false; // Check if package is purchased if ($_SERVER["REQUEST_METHOD"] == "POST") { $package = "Advertising agent"; $amount = 5800; // Package price $commission = 79.310344 / 100 * $amount; // 79.310344% commission for referrer $admin_commission = $amount - $commission; // Remaining percentage for admin // Retrieve user details $sqlUser = "SELECT id, referrer, deposit_balance FROM users WHERE username = ?"; $stmt = $conn->prepare($sqlUser); $stmt->bind_param("s", $username); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { $userData = $result->fetch_assoc(); $userId = $userData['id']; $referrer = $userData['referrer']; $userDepositBalance = $userData['deposit_balance']; if ($userDepositBalance >= $amount) { // Deduct amount from user balance $newUserBalance = $userDepositBalance - $amount; $sqlUpdateUserBalance = "UPDATE users SET deposit_balance = ? WHERE id = ?"; $stmtUpdateUser = $conn->prepare($sqlUpdateUserBalance); $stmtUpdateUser->bind_param("di", $newUserBalance, $userId); if ($stmtUpdateUser->execute()) { // Process referral commission if ($referrer) { $sqlReferrer = "SELECT id, total_earnings FROM users WHERE username = ?"; $stmtReferrer = $conn->prepare($sqlReferrer); $stmtReferrer->bind_param("s", $referrer); $stmtReferrer->execute(); $resultReferrer = $stmtReferrer->get_result(); if ($resultReferrer->num_rows > 0) { $referrerData = $resultReferrer->fetch_assoc(); $referrerId = $referrerData['id']; $referrerEarnings = $referrerData['total_earnings']; // Add commission to referrer $newReferrerEarnings = $referrerEarnings + $commission; $sqlUpdateReferrerEarnings = "UPDATE users SET total_earnings = ? WHERE id = ?"; $stmtUpdateReferrer = $conn->prepare($sqlUpdateReferrerEarnings); $stmtUpdateReferrer->bind_param("di", $newReferrerEarnings, $referrerId); if ($stmtUpdateReferrer->execute()) { // Generate transaction ID $transactionID = generateTransactionID(); $timestamp = date("Y-m-d H:i:s"); // Store transaction in statements table $insertStatementSql = "INSERT INTO statements (username, user_id, package_name, timestamp, status, amount, amount_credited_to_referrer, referrer, referrerbalance, before_earning_balance, after_earning_balance, admin, tx) VALUES (?, ?, ?, ?, 'success', ?, ?, ?, ?, ?, ?, ?, ?)"; $insertStmt = $conn->prepare($insertStatementSql); $insertStmt->bind_param("sissdssdssds", $username, $userId, $package, $timestamp, $amount, $commission, $referrer, $newReferrerEarnings, $referrerEarnings, $newReferrerEarnings, $admin_commission, $transactionID); if ($insertStmt->execute()) { $showSuccessToast = true; // Set flag for success } else { $message = "Error storing purchase record."; } } } } else { // If no referrer, the full remaining amount goes to admin $admin_commission = $amount; // Generate transaction ID $transactionID = generateTransactionID(); $timestamp = date("Y-m-d H:i:s"); // Store transaction in statements table without referrer info $insertStatementSql = "INSERT INTO statements (username, user_id, package_name, timestamp, status, amount, admin, tx) VALUES (?, ?, ?, ?, 'success', ?, ?, ?)"; $insertStmt = $conn->prepare($insertStatementSql); $insertStmt->bind_param("sissdss", $username, $userId, $package, $timestamp, $amount, $admin_commission, $transactionID); if ($insertStmt->execute()) { $showSuccessToast = true; // Set flag for success } else { $message = "Error storing purchase record."; } } } } else { $message = "Insufficient balance."; } } } $conn->close(); ?>
Your order has been processed successfully.