51 lines
1.7 KiB
PHP
51 lines
1.7 KiB
PHP
<?php
|
|
/*
|
|
Developer: David Kumwenda
|
|
Contact: 0881161942 or 0996139030
|
|
App: Mpamba 4 MSE
|
|
Date: 30 August 2025
|
|
Duration: 1 day dev work*/
|
|
|
|
|
|
// Read raw POST data
|
|
$rawData = file_get_contents("php://input");
|
|
|
|
// Decode JSON
|
|
$data = json_decode($rawData, true);
|
|
|
|
// Basic logging (optional, useful for debugging)
|
|
file_put_contents("logs/callback_log_".date('Ymd').'.txt', date("Y-m-d H:i:s") . " - " . $rawData . PHP_EOL, FILE_APPEND); exit();
|
|
|
|
// Validate required fields
|
|
if (isset($data["receipt_number"], $data["result_code"], $data["transaction_id"])) {
|
|
|
|
$receiptNumber = $data["receipt_number"];
|
|
$resultCode = $data["result_code"];
|
|
$resultDescription = $data["result_description"] ?? "";
|
|
$resultTime = $data["result_time"] ?? date("Y-m-d H:i:s");
|
|
$transactionId = $data["transaction_id"];
|
|
$success = $data["success"] ?? false;
|
|
|
|
// Example: Save to database
|
|
// (Replace this with your actual DB insert/update code)
|
|
/*
|
|
$conn = mysqli_connect("localhost", "user", "password", "dbname");
|
|
$stmt = mysqli_prepare($conn, "INSERT INTO payments (transaction_id, receipt_number, result_code, result_description, result_time, success) VALUES (?, ?, ?, ?, ?, ?)");
|
|
mysqli_stmt_bind_param($stmt, "ssissi", $transactionId, $receiptNumber, $resultCode, $resultDescription, $resultTime, $success);
|
|
mysqli_stmt_execute($stmt);
|
|
mysqli_stmt_close($stmt);
|
|
mysqli_close($conn);
|
|
*/
|
|
|
|
// Respond with 200 OK to acknowledge receipt
|
|
http_response_code(200);
|
|
echo json_encode(["status" => "callback received"]);
|
|
|
|
} else {
|
|
// Missing required fields
|
|
http_response_code(400);
|
|
echo json_encode(["error" => "Invalid callback payload"]);
|
|
}
|
|
|
|
?>
|