Improve /pay and /methods routes

This commit is contained in:
Djery-Tom 2022-12-01 10:34:03 +01:00
parent de2366b249
commit 97de7fefc8
5 changed files with 24 additions and 53 deletions

View File

@ -17,54 +17,13 @@ class PaymentController extends Controller
return $this->errorResponse(trans('errors.model_not_found', ['model' => 'methods']));
}
Log::info($aggregator->name);
switch (strtolower($aggregator->name)) {
case 'yoomee':
return app(YoomeeController::class)->getMethods();
case 'yoomeev2':
// $client = new Client([
// 'base_uri' => config('variables.yoomee_api_url'),
// 'timeout' => 60,
// ]);
// $response = $client->get('operators');
// return $this->successResponse(json_decode($response->getBody()->getContents()));
//
// $client = new Client([
// 'base_uri' => config('variables.yoomee_api_v2_url'),
// 'timeout' => 60,
// ]);
// $response = $client->get('providers/v1');
// return $this->successResponse(json_decode($response->getBody()->getContents()));
$providers = ["Yoomee","MTN","Orange","EU"];
$methods = [];
foreach ($providers as $provider){
$key = 'providers.'.$provider;
$method['title'] = Lang::has($key) ? __($key) : $provider;
$method['value'] = $provider;
$methods[] = $method;
}
return $this->successResponse([
'hasWebview' => false,
'methods' => $methods
]
);
return app(YoomeeV2Controller::class)->getMethods();
case 'cinetpay':
$providers = [
// 'ALL',
'MOBILE_MONEY',
'CREDIT_CARD',
];
$methods = [];
foreach ($providers as $provider) {
$key = 'providers.' . $provider;
$method['title'] = Lang::has($key) ? __($key) : $provider;
$method['value'] = $provider;
$methods[] = $method;
}
return $this->successResponse([
'hasWebview' => true,
'methods' => $methods,
]);
return app(CinetpayController::class)->getMethods();
default:
return $this->errorResponse(__('errors.unexpected_error'));
}
@ -80,11 +39,11 @@ class PaymentController extends Controller
switch (strtolower($aggregator->name)) {
case 'yoomee':
return redirect()->route('yoomee.pay', $request->all());
return app(YoomeeController::class)->pay($request);
case 'yoomeev2':
return redirect()->route('yoomee.v2.pay', $request->all());
return app(YoomeeV2Controller::class)->pay($request);
case 'cinetpay':
return redirect()->route('cinetpay.pay', $request->all());
return app(CinetpayController::class)->pay($request);
default:
return $this->errorResponse(__('errors.unexpected_error'));
}

View File

@ -49,9 +49,9 @@ class YoomeeController extends Controller
*/
public function getMethods()
{
// $response = $this->client->get('operators');
// $providers = json_decode($response->getBody()->getContents());
$providers = ["Yoomee","MTN","Orange","EU"];
$response = $this->client->get('operators');
$providers = json_decode($response->getBody()->getContents());
// $providers = ["Yoomee","MTN","Orange","EU"];
$methods = [];
foreach ($providers as $provider){
$key = 'providers.'.$provider;

View File

@ -55,9 +55,9 @@ class YoomeeV2Controller extends Controller
*/
public function getMethods()
{
// $response = $this->client->get('providers/v1');
// $providers = json_decode($response->getBody()->getContents());
$providers = ["Yoomee","MTN","Orange","EU"];
$response = $this->client->get('providers/v1');
$providers = json_decode($response->getBody()->getContents());
// $providers = ["Yoomee","MTN","Orange","EU"];
$methods = [];
foreach ($providers as $provider){
$key = 'providers.'.$provider;
@ -117,6 +117,10 @@ class YoomeeV2Controller extends Controller
if ($createResponse->getStatusCode() == 400) {
$createResponse = json_decode($createResponse->getBody()->getContents());
if(!empty($createResponse->error)){
return $this->errorResponse($createResponse->error_description);
}
$transaction = PaymentTransaction::create([
'aggregator_id' => $request->input('aggregator_id'),
"currency" => $request->input('currency'),

View File

@ -4,6 +4,10 @@ return [
'Orange' => 'Orange Money',
'MTN' => 'MTN MoMo',
'Yoomee' => 'Yoomee Money',
'ADWAPAY-CMR-EXPRESS-UNION' => 'Express Union',
'ADWAPAY-CMR-ORANGE-MONEY' => 'Orange Money',
'ADWAPAY-CMR-MTN-MONEY' => 'MTN MoMo',
'YOOMEE-MONEY' => 'Yoomee Money',
'MOBILE_MONEY' => 'Mobile Money',
'CREDIT_CARD' => 'Carte de crédit'
];

View File

@ -4,6 +4,10 @@ return [
'Orange' => 'Orange Money',
'MTN' => 'MTN MoMo',
'Yoomee' => 'Yoomee Money',
'ADWAPAY-CMR-EXPRESS-UNION' => 'Express Union',
'ADWAPAY-CMR-ORANGE-MONEY' => 'Orange Money',
'ADWAPAY-CMR-MTN-MONEY' => 'MTN MoMo',
'YOOMEE-MONEY' => 'Yoomee Money',
'MOBILE_MONEY' => 'Mobile Money',
'CREDIT_CARD' => 'Carte de crédit'
];