first(); if (!$aggregator) { return $this->errorResponse(trans('errors.model_not_found', ['model' => 'methods'])); } Log::info($aggregator->name); switch (strtolower($aggregator->name)) { case 'yoomee': 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; $methods[$provider] = Lang::has($key) ? __($key) : $provider; } return $this->successResponse([ 'hasWebview' => false, 'methods' => $methods ] ); case 'cinetpay': $providers = [ // 'ALL', 'MOBILE_MONEY', 'CREDIT_CARD', ]; $methods = []; foreach ($providers as $provider) { $key = 'providers.' . $provider; $methods[$provider] = Lang::has($key) ? __($key) : $provider; } return $this->successResponse([ 'hasWebview' => true, 'methods' => $methods, ]); default: return $this->errorResponse(__('errors.unexpected_error')); } } public function pay(Request $request) { $this->validate($request, [ 'aggregator_id' => 'required|integer|exists:payment_aggregators,id', ]); $aggregator = PaymentAggregator::findOrFail($request->input('aggregator_id')); switch (strtolower($aggregator->name)) { case 'yoomee': return redirect()->route('yoomee.pay', $request->all()); case 'yoomeev2': return redirect()->route('yoomee.v2.pay', $request->all()); case 'cinetpay': return redirect()->route('cinetpay.pay', $request->all()); default: return $this->errorResponse(__('errors.unexpected_error')); } } public function paymentResult(Request $request) { if($request->has('token')){ return $this->successResponse($request->all()); }else{ return $this->errorResponse($request->all()); } } }