<?php 
// ------- Include -------
include '../../config.php';
$payment=mysqli_fetch_assoc(mysqli_query($connect,"SELECT * FROM payment LIMIT 1"));
$merichentziball=$payment['merichentziball'];

// ------- Functions -------
function postToZibal($path, $parameters)
{
    $url = 'https://gateway.zibal.ir/v1/'.$path;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS,json_encode($parameters));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response  = curl_exec($ch);
    curl_close($ch);
    return json_decode($response);
}

// ------- Get Parameters -------
$order_code = $_GET['order'];

// بررسی وجود پارامتر
if(!$order_code){
    die("کد سفارش اشتباه است");
}

// بررسی وجود سفارش و دریافت اطلاعات
$order_data = mysqli_fetch_assoc(mysqli_query($connect,"SELECT * FROM payment_orders WHERE order_code = '$order_code' AND status = 'pending' LIMIT 1"));

if(!$order_data){
    die("سفارش یافت نشد یا قبلاً پردازش شده است");
}

// دریافت اطلاعات از سفارش
$user = $order_data['user_id'];
$amount = $order_data['amount'];

// بررسی وجود کاربر
$user_check = mysqli_fetch_assoc(mysqli_query($connect,"SELECT id FROM user WHERE id = '$user' LIMIT 1"));
if(!$user_check){
    die("کاربر یافت نشد");
}

// آماده سازی درخواست پرداخت
$parameters = array(
    "merchant"=> $merichentziball,//required
    "callbackUrl"=> "$web/pay/ziball/back.php?order=$order_code",//required
    "amount"=> $amount,//required
    "orderId"=> $order_code,//optional - استفاده از کد سفارش
    "mobile"=> "09120000000",//optional for mpg
    "description"=> "خرید اشتراک از ربات - کد سفارش: $order_code"//optional
);

$response = postToZibal('request', $parameters);

if ($response->result == 100)
{
    $trackId = $response->trackId;
    
    // حذف خط مشکل‌ساز - trackId را ذخیره نمی‌کنیم
    // mysqli_query($connect,"UPDATE payment_orders SET track_id = '$trackId' WHERE order_code = '$order_code' LIMIT 1");
    
    // هدایت به درگاه پرداخت
    $startGateWayUrl = "https://gateway.zibal.ir/start/".$trackId;
    header('location: '.$startGateWayUrl);
    exit;
}
else{
    die("خطا در ایجاد درخواست پرداخت - کد: ".$response->result." - پیام: ".$response->message);
}
?>