diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index 5b98c87..93589f5 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -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')); } diff --git a/app/Http/Controllers/YoomeeController.php b/app/Http/Controllers/YoomeeController.php index 1b4b84a..21c2d32 100644 --- a/app/Http/Controllers/YoomeeController.php +++ b/app/Http/Controllers/YoomeeController.php @@ -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; diff --git a/app/Http/Controllers/YoomeeV2Controller.php b/app/Http/Controllers/YoomeeV2Controller.php index 7681c9b..de32a7f 100644 --- a/app/Http/Controllers/YoomeeV2Controller.php +++ b/app/Http/Controllers/YoomeeV2Controller.php @@ -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'), diff --git a/resources/lang/en/providers.php b/resources/lang/en/providers.php index da68107..cdfdb14 100755 --- a/resources/lang/en/providers.php +++ b/resources/lang/en/providers.php @@ -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' ]; diff --git a/resources/lang/fr/providers.php b/resources/lang/fr/providers.php index da68107..cdfdb14 100755 --- a/resources/lang/fr/providers.php +++ b/resources/lang/fr/providers.php @@ -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' ];