refactored Mpamba Controller, added wallet tables
This commit is contained in:
@@ -8,6 +8,7 @@ use App\Models;
|
||||
use App\Library\AirtelMoneyMw;
|
||||
use Carbon\Carbon;
|
||||
use Config;
|
||||
use Storage;
|
||||
|
||||
class AirtelMoneyMalawiController extends Controller
|
||||
{
|
||||
@@ -37,41 +38,38 @@ class AirtelMoneyMalawiController extends Controller
|
||||
"id" => $request->refID //time() . uniqid()
|
||||
]
|
||||
];
|
||||
//country, currency, msisdn,
|
||||
// $subscriber_country = $data['subscriber']['country'];
|
||||
// $subscriber_currency = $data['subscriber']['currency'];
|
||||
// $subscriber_msisdn = $data['subscriber']['msisdn'];
|
||||
$filename = "requests_" . date("Y-m-d") . ".txt";
|
||||
$logdata = date("Y-m-d H:i:s") . " - " . json_encode($request->all());
|
||||
Storage::disk('airtelmoney')->append($filename, $logdata);
|
||||
|
||||
// $transaction_amount = $data['transaction']['amount'];
|
||||
// $transaction_country = $data['transaction']['country'];
|
||||
// $transaction_currency = $data['transaction']['currency'];
|
||||
// $transaction_id = $data['transaction']['id'];
|
||||
$wallet = Models\AirtelMoneyWallet::where('name', $request->wallet_id)->first();
|
||||
if ($wallet == false) {
|
||||
// code...
|
||||
return response()->json(['code' => 3, 'msg' => 'Wallet Not found']);
|
||||
}
|
||||
#$authURL = "https://openapiuat.airtel.africa/auth/oauth2/token";
|
||||
$authURL = Config('airtelmoney.authURL');
|
||||
|
||||
$authURL = "https://openapiuat.airtel.africa/auth/oauth2/token";
|
||||
|
||||
//no comments
|
||||
//CONTINENTAL CAPITAL
|
||||
$clientID = "9ff18a6d-331e-4ec5-9ecc-4e512e13747c";
|
||||
$clientSecret = "40f44254-10e7-4eb8-b161-38125117f4ba";
|
||||
|
||||
|
||||
$result = $this->authenticate($authURL, $clientID, $clientSecret);
|
||||
$result = $this->authenticate($authURL, $wallet->clientID, $wallet->clientSecret);
|
||||
if($result['success']){
|
||||
|
||||
$bearerToken = $result['token'];
|
||||
|
||||
//send a ussd push
|
||||
$retval = $this->sendUSSDPush($bearerToken, $request_data);
|
||||
|
||||
$filename = "ussd_push_responses_" . date("Y-m-d") . ".txt";
|
||||
$logdata = date("Y-m-d H:i:s") . " - " . json_encode($retval);
|
||||
Storage::disk('airtelmoney')->append($filename, $logdata);
|
||||
|
||||
$result_data = json_decode($retval, true);
|
||||
// dump($result_data);
|
||||
// Check if the response has a status and success flag
|
||||
if (isset($result_data['status']['success']) && $result_data['status']['success'] === true) {
|
||||
// Success case
|
||||
$transactionId = $result_data['data']['transaction']['id'];
|
||||
$transactionStatus = $result_data['data']['transaction']['status'];
|
||||
$message = $result_data['status']['message'];
|
||||
|
||||
$msg = "✅ Transaction Successful!\n";
|
||||
$msg = "Transaction Successful!\n";
|
||||
$msg .= "Transaction ID: $transactionId\n";
|
||||
$msg .= "Status: $transactionStatus\n";
|
||||
$msg .= "Message: $message\n";
|
||||
@@ -81,7 +79,7 @@ class AirtelMoneyMalawiController extends Controller
|
||||
$errorCode = $result_data['status']['result_code'] ?? 'N/A';
|
||||
$errorMessage = $result_data['status']['message'] ?? 'Unknown error';
|
||||
|
||||
$msg = "❌ Transaction Failed!\n";
|
||||
$msg = "Transaction Failed!\n";
|
||||
$msg .= "Error Code: $errorCode\n";
|
||||
$msg .= "Message: $errorMessage\n";
|
||||
return response()->json(['code' => 3, 'msg' => $msg, 'responseRaw' => $result_data ]);
|
||||
@@ -271,25 +269,23 @@ class AirtelMoneyMalawiController extends Controller
|
||||
];
|
||||
}
|
||||
|
||||
// Get HTTP status code
|
||||
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||
curl_close($ch);
|
||||
|
||||
// Decode JSON response
|
||||
$result = json_decode($response, true);
|
||||
|
||||
// Check if token is present
|
||||
if ($httpCode === 200 && isset($result['access_token'])) {
|
||||
return [
|
||||
'success' => true,
|
||||
'token' => $result['access_token']
|
||||
];
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
return [
|
||||
'success' => false,
|
||||
'error' => $result['error_description'] ?? 'Unknown error',
|
||||
'error' => $result, // $result['error_description'] ?? 'Unknown error',
|
||||
'details' => $result['error'] ?? []
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user