first(); if (!$aggregator) { return $this->errorResponse(trans('errors.model_not_found', ['model' => 'methods'])); } switch (strtolower($aggregator->name)) { case 'yoomee': return app(YoomeeController::class)->getMethods(); case 'yoomeev2': return app(YoomeeV2Controller::class)->getMethods(); case 'cinetpay': return app(CinetpayController::class)->getMethods(); 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 app(YoomeeController::class)->pay($request); case 'yoomeev2': return app(YoomeeV2Controller::class)->pay($request); case 'cinetpay': return app(CinetpayController::class)->pay($request); 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()); } } }