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.methods', $request->all()); case 'yoomeev2': return redirect()->route('yoomee.v2.methods', $request->all()); case 'cinetpay': return redirect()->route('cinetpay.methods', $request->all()); 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')); } } }