diff --git a/app/Http/Controllers/CinetpayController.php b/app/Http/Controllers/CinetpayController.php index 6e91c3b..0e533ff 100644 --- a/app/Http/Controllers/CinetpayController.php +++ b/app/Http/Controllers/CinetpayController.php @@ -78,7 +78,7 @@ class CinetpayController extends Controller // 'aggregator_id' => 'required|integer', 'amount' => 'required|numeric|min:5', 'currency' => 'required|string|size:3', -// 'payment_method' => 'nullable|string|in:ALL,MOBILE_MONEY,CREDIT_CARD,WALLET', + 'payment_method' => 'nullable|string', 'customer_id' => 'required|integer', 'customer_email' => 'required|email', 'customer_name' => 'nullable|string', @@ -92,10 +92,14 @@ class CinetpayController extends Controller 'reason' => 'required|string' ]); + $paymentMethods = ['ALL','MOBILE_MONEY','CREDIT_CARD','WALLET']; $aggregator = PaymentAggregator::where('name','like','%cinetpay%')->firstOrFail(); $transaction_id = $this->getTransactionID(); - $payment_method = 'ALL'; + $payment_method = $request->input('payment_method'); + if(!in_array($payment_method, $paymentMethods)){ + $payment_method = 'ALL'; + } $amount = $request->input('amount'); $currency = $request->input('currency'); diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index 3671d4a..8de448b 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -38,18 +38,23 @@ class PaymentController extends Controller { $this->validate($request, [ 'payment_method' => 'nullable|string', -// 'aggregator_id' => 'required_without:payment_method|integer|exists:payment_aggregators,id', + 'aggregator_id' => 'nullable|integer|exists:payment_aggregators,id', ]); $payment_method = $request->input('payment_method', PaymentMethod::CARD); + $aggregator_id = $request->input('aggregator_id'); - if($payment_method == PaymentMethod::CARD){ - $aggregator = PaymentAggregator::where('name','like','%stripe%')->firstOrFail(); + if($aggregator_id){ + $aggregator = PaymentAggregator::findOrFail($aggregator_id); }else{ - $aggregator = PaymentAggregator::where('status',1)->firstOrFail(); - + if($payment_method == PaymentMethod::CARD){ + $aggregator = PaymentAggregator::where('name','like','%stripe%')->firstOrFail(); + }else{ + $aggregator = PaymentAggregator::where('status',1)->firstOrFail(); + } } + $data = $request->all(); $request = new Request(); $request->merge(array_merge($data,[