MMCT TEAM
Server IP : 217.21.85.138  /  Your IP : 216.73.216.103
Web Server : LiteSpeed
System : Linux in-mum-web906.main-hosting.eu 4.18.0-553.37.1.lve.el8.x86_64 #1 SMP Mon Feb 10 22:45:17 UTC 2025 x86_64
User : u915722082 ( 915722082)
PHP Version : 7.4.33
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /home/u915722082/public_html/vendor/../projects/config/../admin/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/u915722082/public_html/vendor/../projects/config/../admin/payment_page.php
<?php
session_start();
require_once '../config/config.php';
$con = getDatabaseConnection();

if (!isset($_SESSION['admin_id']) || !isset($_GET['order_id'])) {
    header("Location: domain_portfolio.php");
    exit;
}

$order_id = (int)$_GET['order_id'];

$order_query = "SELECT * FROM tbl_domain_orders WHERE order_id = $order_id AND user_id = " . $_SESSION['admin_id'];
$order_result = mysqli_query($con, $order_query);

if (mysqli_num_rows($order_result) == 0) {
    header("Location: domain_portfolio.php");
    exit;
}

$order = mysqli_fetch_assoc($order_result);

$settings_query = "SELECT setting_key, setting_value FROM tbl_domain_settings WHERE setting_key IN ('razorpay_key_id', 'razorpay_key_secret')";
$settings_result = mysqli_query($con, $settings_query);
$settings = [];
while ($row = mysqli_fetch_assoc($settings_result)) {
    $settings[$row['setting_key']] = $row['setting_value'];
}

$razorpay_key_id = $settings['razorpay_key_id'] ?? '';
$razorpay_key_secret = $settings['razorpay_key_secret'] ?? '';

if (empty($razorpay_key_id) || empty($razorpay_key_secret)) {
    $_SESSION['error'] = "Razorpay credentials not configured";
    header("Location: domain_portfolio.php");
    exit;
}

if (empty($order['razorpay_order_id'])) {
    
    $order_data = [
        'amount' => $order['total_amount'] * 100,
        'currency' => $order['currency'],
        'receipt' => $order['order_number'],
        'notes' => [
            'domain_name' => $order['domain_name'],
            'renewal_years' => $order['renewal_years']
        ]
    ];
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://api.razorpay.com/v1/orders');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($order_data));
    curl_setopt($ch, CURLOPT_USERPWD, $razorpay_key_id . ':' . $razorpay_key_secret);
    curl_setopt($ch, CURLOPT_HTTPHEADER, [
        'Content-Type: application/json'
    ]);
    
    $response = curl_exec($ch);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    if ($http_code == 200) {
        $razorpay_response = json_decode($response, true);
        $razorpay_order_id = $razorpay_response['id'];
        
        mysqli_query($con, "UPDATE tbl_domain_orders SET razorpay_order_id = '$razorpay_order_id' WHERE order_id = $order_id");
        $order['razorpay_order_id'] = $razorpay_order_id;
    } else {
        $_SESSION['error'] = "Failed to create payment order";
        header("Location: domain_portfolio.php");
        exit;
    }
}

$user_name = $_SESSION['user_name'] ?? 'Admin';
$user_email = $_SESSION['email'] ?? ADMIN_EMAIL;
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <base href="../" />
    <title>Payment - Domain Renewal</title>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Inter:300,400,500,600,700" />
    <link href="assets/plugins/global/plugins.bundle.css" rel="stylesheet" type="text/css" />
    <link href="assets/css/style.bundle.css" rel="stylesheet" type="text/css" />
</head>

<body id="kt_app_body" data-kt-app-layout="dark-sidebar" data-kt-app-header-fixed="true" 
      data-kt-app-sidebar-enabled="true" data-kt-app-sidebar-fixed="true" 
      data-kt-app-sidebar-hoverable="true" data-kt-app-sidebar-push-header="true" 
      data-kt-app-sidebar-push-toolbar="true" data-kt-app-sidebar-push-footer="true" 
      data-kt-app-toolbar-enabled="true" class="app-default">
    
    <script>
        var defaultThemeMode = "light"; 
        var themeMode; 
        if (document.documentElement) { 
            if (document.documentElement.hasAttribute("data-bs-theme-mode")) { 
                themeMode = document.documentElement.getAttribute("data-bs-theme-mode"); 
            } else { 
                if (localStorage.getItem("data-bs-theme") !== null) { 
                    themeMode = localStorage.getItem("data-bs-theme"); 
                } else { 
                    themeMode = defaultThemeMode; 
                } 
            } 
            if (themeMode === "system") { 
                themeMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; 
            } 
            document.documentElement.setAttribute("data-bs-theme", themeMode); 
        }
    </script>
    
    <div class="d-flex flex-column flex-root app-root" id="kt_app_root">
        <div class="app-page flex-column flex-column-fluid" id="kt_app_page">
            
            <?php include 'includes/header.php'; ?>
            
            <div class="app-wrapper flex-column flex-row-fluid" id="kt_app_wrapper">
                
                <?php include 'includes/sidebar.php'; ?>
                
                <div class="app-main flex-column flex-row-fluid" id="kt_app_main">
                    <div class="d-flex flex-column flex-column-fluid">
                        
                        <div id="kt_app_toolbar" class="app-toolbar py-3 py-lg-6">
                            <div id="kt_app_toolbar_container" class="app-container container-xxl d-flex flex-stack">
                                <div class="page-title d-flex flex-column justify-content-center flex-wrap me-3">
                                    <h1 class="page-heading d-flex text-gray-900 fw-bold fs-3 flex-column my-0">
                                        🔒 Secure Payment
                                    </h1>
                                    <ul class="breadcrumb breadcrumb-separatorless fw-semibold fs-7 my-0 pt-1">
                                        <li class="breadcrumb-item text-muted">
                                            <a href="admin/domain_portfolio.php" class="text-muted text-hover-primary">Domains</a>
                                        </li>
                                        <li class="breadcrumb-item">
                                            <span class="bullet bg-gray-500 w-5px h-2px"></span>
                                        </li>
                                        <li class="breadcrumb-item text-muted">Payment</li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                        
                        <div id="kt_app_content" class="app-content flex-column-fluid">
                            <div id="kt_app_content_container" class="app-container container-xxl">
                                
                                <div class="row g-5 g-xl-10">
                                    <div class="col-xl-8 offset-xl-2">
                                        
                                        <div class="card mb-5 mb-xl-10">
                                            <div class="card-header">
                                                <div class="card-title">
                                                    <h3 class="fw-bold m-0">Order Summary</h3>
                                                </div>
                                            </div>
                                            
                                            <div class="card-body">
                                                <div class="d-flex flex-column gap-5">
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fw-semibold text-gray-600">Order Number:</span>
                                                        <span class="badge badge-light-primary fs-7"><?php echo $order['order_number']; ?></span>
                                                    </div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fw-semibold text-gray-600">Domain Name:</span>
                                                        <span class="fw-bold text-gray-900"><?php echo htmlspecialchars($order['domain_name']); ?></span>
                                                    </div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fw-semibold text-gray-600">Renewal Period:</span>
                                                        <span class="fw-bold text-gray-900"><?php echo $order['renewal_years']; ?> Year<?php echo $order['renewal_years'] > 1 ? 's' : ''; ?></span>
                                                    </div>
                                                    
                                                    <div class="separator"></div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fw-semibold text-gray-600">Current Expiry:</span>
                                                        <span class="text-gray-900"><?php echo date('M d, Y', strtotime($order['current_expiry'])); ?></span>
                                                    </div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fw-semibold text-success">New Expiry:</span>
                                                        <span class="fw-bold text-success"><?php echo date('M d, Y', strtotime($order['new_expiry'])); ?></span>
                                                    </div>
                                                    
                                                    <div class="separator"></div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="text-gray-600">Subtotal:</span>
                                                        <span class="text-gray-900"><?php echo $order['currency']; ?> <?php echo number_format($order['price_per_year'] * $order['renewal_years'], 2); ?></span>
                                                    </div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="text-gray-600">GST (18%):</span>
                                                        <span class="text-gray-900"><?php echo $order['currency']; ?> <?php echo number_format($order['total_amount'] - ($order['price_per_year'] * $order['renewal_years']), 2); ?></span>
                                                    </div>
                                                    
                                                    <div class="separator border-dark"></div>
                                                    
                                                    <div class="d-flex justify-content-between">
                                                        <span class="fs-3 fw-bold text-gray-900">Total Amount:</span>
                                                        <span class="fs-2 fw-bolder text-primary"><?php echo $order['currency']; ?> <?php echo number_format($order['total_amount'], 2); ?></span>
                                                    </div>
                                                    
                                                </div>
                                            </div>
                                        </div>
                                        
                                        <div class="card">
                                            <div class="card-body text-center py-10">
                                                <button id="rzp-button" class="btn btn-lg btn-primary">
                                                    <i class="ki-duotone ki-shield-tick fs-2 me-2">
                                                        <span class="path1"></span>
                                                        <span class="path2"></span>
                                                    </i>
                                                    Pay <?php echo $order['currency']; ?> <?php echo number_format($order['total_amount'], 2); ?>
                                                </button>
                                                
                                                <div class="mt-5">
                                                    <i class="ki-duotone ki-shield-tick fs-2x text-success">
                                                        <span class="path1"></span>
                                                        <span class="path2"></span>
                                                    </i>
                                                    <span class="fw-semibold text-gray-600 ms-2">Secured by Razorpay</span>
                                                </div>
                                                
                                                <div class="mt-8">
                                                    <a href="admin/domain_portfolio.php" class="btn btn-light-primary">
                                                        <i class="ki-duotone ki-left fs-2"></i>
                                                        Cancel & Go Back
                                                    </a>
                                                </div>
                                            </div>
                                        </div>
                                        
                                    </div>
                                </div>
                                
                            </div>
                        </div>
                        
                    </div>
                    
                    <?php include 'includes/footer.php'; ?>
                    
                </div>
            </div>
        </div>
    </div>
    
    <script src="https://checkout.razorpay.com/v1/checkout.js"></script>
    <script src="assets/plugins/global/plugins.bundle.js"></script>
    <script src="assets/js/scripts.bundle.js"></script>
    
    <script>
    var options = {
        "key": "<?php echo $razorpay_key_id; ?>",
        "amount": "<?php echo $order['total_amount'] * 100; ?>",
        "currency": "<?php echo $order['currency']; ?>",
        "name": "TheDotStudios",
        "description": "Domain Renewal - <?php echo $order['domain_name']; ?>",
        "image": "<?php echo BASE_URL; ?>assets/media/logos/LOGO.png",
        "order_id": "<?php echo $order['razorpay_order_id']; ?>",
        "handler": function (response) {
            var form = document.createElement('form');
            form.method = 'POST';
            form.action = 'admin/verify_domain_payment.php';
            
            var fields = {
                'razorpay_payment_id': response.razorpay_payment_id,
                'razorpay_order_id': response.razorpay_order_id,
                'razorpay_signature': response.razorpay_signature,
                'order_id': '<?php echo $order_id; ?>'
            };
            
            for (var key in fields) {
                var input = document.createElement('input');
                input.type = 'hidden';
                input.name = key;
                input.value = fields[key];
                form.appendChild(input);
            }
            
            document.body.appendChild(form);
            form.submit();
        },
        "prefill": {
            "name": "<?php echo $user_name; ?>",
            "email": "<?php echo $user_email; ?>",
            "contact": ""
        },
        "notes": {
            "order_number": "<?php echo $order['order_number']; ?>",
            "domain_name": "<?php echo $order['domain_name']; ?>"
        },
        "theme": {
            "color": "#009ef7"
        },
        "modal": {
            "ondismiss": function() {
                window.location.href = 'admin/domain_portfolio.php';
            }
        }
    };
    
    var rzp = new Razorpay(options);
    
    document.getElementById('rzp-button').onclick = function(e) {
        e.preventDefault();
        rzp.open();
    };
    </script>
</body>
</html>

MMCT - 2023