// Set header to return JSON
header('Content-Type: application/json');
// Get USSD request parameters from GET
$sessionId = $_GET['session_id'] ?? '';
$msisdn = $_GET['session_msisdn'] ?? '';
$sessionMsg = $_GET['session_msg'] ?? '';
$operation = $_GET['session_operation'] ?? '';
$sessionFrom = $_GET['session_from'] ?? '';
$sessionType = $_GET['session_type'] ?? '';
$mno = $_GET['session_mno'] ?? '';
// Default response
$response = [
'session_operation' => 'continue',
'session_type' => 1, // Expecting user input
'session_id' => $sessionId,
'session_msg' => '',
];
// USSD Menu Logic
if ($operation === 'begin') {
$response['session_msg'] = "Welcome to MyService\n1. Buy Airtime\n2. Buy Data";
} elseif ($operation === 'continue') {
switch (trim($sessionMsg)) {
case '1':
$response['session_msg'] = "Enter airtime amount:";
break;
case '2':
$response['session_msg'] = "Enter data amount:";
break;
default:
$response['session_msg'] = "Invalid option. Try again\n1. Buy Airtime\n2. Buy Data";
break;
}
} else {
$response['session_operation'] = 'end';
$response['session_type'] = 4;
$response['session_msg'] = "Thank you for using MyService.";
}
// Output JSON response
echo json_encode($response);