%PDF- %GIF98; %PNG;
Server : ApacheSystem : 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/public_html/website_6ca89795/api/ |
Upload File : |
<?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;
}
/*
|--------------------------------------------------------------------------
| Get Order ID
|--------------------------------------------------------------------------
*/
$order_id = intval($_REQUEST['order_id'] ?? 0);
if ($order_id <= 0)
{
response(false, "Order ID Required", [
"required_fields" => [
"order_id"
],
"example_url" =>
BASE_URL .
"api/order_details.php?order_id=1"
]);
}
/*
|--------------------------------------------------------------------------
| Order Details
|--------------------------------------------------------------------------
*/
$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);
/*
|--------------------------------------------------------------------------
| Status Title & Message
|--------------------------------------------------------------------------
*/
$status_title = "";
$status_message = "";
if ($order['refund_status'] == 'Pending')
{
$status_title = "Refund Processing";
$status_message = "Your refund is being processed.";
}
elseif ($order['order_status'] == 'Delivered')
{
$status_title = "Delivered Successfully";
$status_message = "Enjoy your fresh meat!";
}
elseif ($order['order_status'] == 'Cancelled')
{
$status_title = "Order Cancelled";
$status_message = "Your order was not completed.";
}
else
{
$status_title = "Your Order is Being Prepared";
$status_message = "Fresh meat is being packed with care.";
}
/*
|--------------------------------------------------------------------------
| Order Items
|--------------------------------------------------------------------------
*/
$items = [];
$total_items = 0;
$subtotal = 0;
$itemQry = mysqli_query(
$conn,
"SELECT
oi.*,
p.title,
p.weight,
p.image
FROM order_items oi
LEFT JOIN areawecover p
ON oi.product_id = p.id
WHERE oi.order_id='$order_id'"
);
while ($item = mysqli_fetch_assoc($itemQry))
{
$total_items += $item['quantity'];
$item_total =
$item['price'] *
$item['quantity'];
$subtotal += $item_total;
$items[] = [
"product_id" =>
$item['product_id'],
"title" =>
$item['title'],
"weight" =>
$item['weight'],
"quantity" =>
(int)$item['quantity'],
"price" =>
$currency_symbol .
number_format(
$item['price'],
2
),
"image" =>
!empty($item['image'])
? BASE_URL .
"admin/dataimg/" .
$item['image']
: ""
];
}
/*
|--------------------------------------------------------------------------
| Delivery Charges
|--------------------------------------------------------------------------
*/
$delivery_fee = 5;
$service_fee = 2;
/*
|--------------------------------------------------------------------------
| Delivery Information
|--------------------------------------------------------------------------
*/
$delivery_info = [
"name" =>
$order['full_name'],
"phone" =>
$order['phone'],
"address" =>
$order['address'],
"delivery_instruction" =>
$order['delivery_instruction']
];
/*
|--------------------------------------------------------------------------
| Buttons Logic
|--------------------------------------------------------------------------
*/
$buttons = [
"cancel_order" =>
($order['order_status'] == 'Pending'),
"order_again" =>
(
$order['order_status'] == 'Delivered' ||
$order['order_status'] == 'Cancelled'
),
"download_invoice" =>
($order['order_status'] == 'Delivered'),
"contact_support" => true
];
/*
|--------------------------------------------------------------------------
| Response
|--------------------------------------------------------------------------
*/
response(true, "Order Details Loaded", [
"order_id" =>
$order['id'],
"order_number" =>
$order['unique_order_id'],
"order_status" =>
$order['order_status'],
"refund_status" =>
$order['refund_status'],
"status_title" =>
$status_title,
"status_message" =>
$status_message,
"summary" => [
"order_date" =>
date(
"d M Y h:i A",
strtotime(
$order['created_at']
)
),
"order_total" =>
$currency_symbol .
number_format(
$order['total_amount'],
2
),
"payment_method" =>
strtoupper(
$order['payment_type']
),
"total_items" =>
$total_items
],
"cancel_information" => [
"cancel_reason" =>
$order['cancel_reason'],
"cancel_details" =>
$order['cancel_details']
],
"refund_information" => [
"refund_status" =>
$order['refund_status']
],
"ordered_items" =>
$items,
"delivery_information" =>
$delivery_info,
"order_summary" => [
"subtotal" =>
$currency_symbol .
number_format(
$subtotal,
2
),
"delivery_fee" =>
$currency_symbol .
number_format(
$delivery_fee,
2
),
"service_fee" =>
$currency_symbol .
number_format(
$service_fee,
2
),
"total" =>
$currency_symbol .
number_format(
$order['total_amount'],
2
)
],
"buttons" =>
$buttons,
"apis" => [
"cancel_order_api" =>
BASE_URL .
"api/cancel_order.php",
"reorder_api" =>
BASE_URL .
"api/reorder.php",
"download_invoice_api" =>
BASE_URL .
"api/download_invoice.php?order_id=" .
$order['id']
]
]);
$conn->close();
?>