Path : /home/vishqocm/pcib.in/student/ajax/
File Upload :
Current File : /home/vishqocm//pcib.in/student/ajax/get_course_payment_details.php

<?php
// Start session
session_start();

// Include database configuration
require_once '../../config/database.php';

// Check if user is logged in and has student role
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'student') {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Unauthorized access']);
    exit;
}

$user_id = $_SESSION['user_id'];

// Check if course ID is provided
if (!isset($_GET['course_id']) || empty($_GET['course_id'])) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'Course ID is required']);
    exit;
}

$course_id = intval($_GET['course_id']);

// Validate the course exists and user is enrolled
$enrollment_query = "SELECT e.*, c.title, c.price, c.discount_price, c.duration
                   FROM enrollments e
                   JOIN courses c ON e.course_id = c.id
                   WHERE e.user_id = ? AND e.course_id = ? AND e.status = 'active'";
$stmt = $conn->prepare($enrollment_query);
$stmt->bind_param("ii", $user_id, $course_id);
$stmt->execute();
$enrollment_result = $stmt->get_result();

if ($enrollment_result->num_rows === 0) {
    header('Content-Type: application/json');
    echo json_encode(['success' => false, 'message' => 'You are not enrolled in this course']);
    exit;
}

$enrollment = $enrollment_result->fetch_assoc();

// Get total course fee
$course_price = $enrollment['discount_price'] > 0 && $enrollment['discount_price'] < $enrollment['price'] 
              ? $enrollment['discount_price'] : $enrollment['price'];

// Calculate payment plans based on course duration
$duration_parts = explode(' ', $enrollment['duration']);
$duration_value = isset($duration_parts[0]) ? intval($duration_parts[0]) : 3; // Default to 3 if not specified
$duration_unit = isset($duration_parts[1]) ? strtolower($duration_parts[1]) : 'months'; // Default to months

// Get payment plan
$payment_plan = $enrollment['payment_plan'] ?? 'full';

// Get total paid amount
$paid_query = "SELECT SUM(amount) as total_paid FROM payments 
              WHERE user_id = ? AND course_id = ? AND status IN ('completed', 'verified')";
$stmt = $conn->prepare($paid_query);
$stmt->bind_param("ii", $user_id, $course_id);
$stmt->execute();
$paid_result = $stmt->get_result();
$total_paid = $paid_result->fetch_assoc()['total_paid'] ?? 0;

// Calculate remaining amount
$remaining = max(0, $course_price - $total_paid);

// Prepare response data
$response = [
    'success' => true,
    'course_id' => $course_id,
    'course_title' => $enrollment['title'],
    'total_fee' => $course_price,
    'paid_amount' => $total_paid,
    'remaining' => $remaining,
    'payment_plan' => $payment_plan,
    'enrollment_date' => $enrollment['enrollment_date']
];

// Return JSON response
header('Content-Type: application/json');
echo json_encode($response);
exit;