From c83b178be925677a618e5331cec22c000a8e6b9c Mon Sep 17 00:00:00 2001 From: Djery-Tom Date: Mon, 31 Jul 2023 13:54:20 +0100 Subject: [PATCH] fix: improve main /pay endpoint --- app/Http/Controllers/CinetpayController.php | 7 ++++--- app/Http/Controllers/PaymentController.php | 6 +++--- app/Http/Controllers/StripeController.php | 3 ++- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/CinetpayController.php b/app/Http/Controllers/CinetpayController.php index d72834a..338f2d4 100644 --- a/app/Http/Controllers/CinetpayController.php +++ b/app/Http/Controllers/CinetpayController.php @@ -11,6 +11,7 @@ use Illuminate\Support\Facades\Lang; use Illuminate\Support\Facades\Log; use Propaganistas\LaravelPhone\PhoneNumber; use Propaganistas\LaravelPhone\Rules\Phone; +use Symfony\Component\HttpFoundation\Response as ResponseAlias; use Throwable; class CinetpayController extends Controller @@ -78,7 +79,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|in:ALL,MOBILE_MONEY,CREDIT_CARD,WALLET', 'customer_id' => 'required|integer', 'customer_email' => 'required|email', 'customer_name' => 'nullable|string', @@ -93,7 +94,7 @@ class CinetpayController extends Controller ]); $transaction_id = $this->getTransactionID(); - $payment_method = $request->input('payment_method','ALL'); + $payment_method = 'ALL'; $amount = $request->input('amount'); $currency = $request->input('currency'); @@ -160,7 +161,7 @@ class CinetpayController extends Controller return $this->successResponse([ 'message' => $responseData->message, 'payment_url' => $responseData->data->payment_url - ]); + ], ResponseAlias::HTTP_MOVED_PERMANENTLY); }else{ return $this->errorResponse($responseData->error ?? trans('errors.unexpected_error'),$responseCode); diff --git a/app/Http/Controllers/PaymentController.php b/app/Http/Controllers/PaymentController.php index 13f1b78..cfb26f3 100644 --- a/app/Http/Controllers/PaymentController.php +++ b/app/Http/Controllers/PaymentController.php @@ -43,12 +43,12 @@ class PaymentController extends Controller $payment_method = $request->input('payment_method'); - if($payment_method == 'CREDIT_CARD'){ + if($payment_method == PaymentMethod::CARD){ $aggregator = PaymentAggregator::where('name','like','%stripe%')->firstOrFail(); $data = $request->all(); $request = new Request(); $request->merge(array_merge($data,[ - 'payment_method' => 'CREDIT_CARD', + 'payment_method' => PaymentMethod::CARD, 'aggregator_id' => $aggregator->id ])); }else{ @@ -63,7 +63,7 @@ class PaymentController extends Controller case 'cinetpay': return app(CinetpayController::class)->pay($request); case 'stripe': - return app(StripeController::class)->pay($request); + return app(StripeController::class)->payIn($request); default: return $this->errorResponse(__('errors.unexpected_error')); } diff --git a/app/Http/Controllers/StripeController.php b/app/Http/Controllers/StripeController.php index 5354d63..8c2f935 100644 --- a/app/Http/Controllers/StripeController.php +++ b/app/Http/Controllers/StripeController.php @@ -13,6 +13,7 @@ use Illuminate\Support\Facades\Log; use Illuminate\Support\Str; use Stripe\PaymentIntent; use Stripe\StripeClient; +use Symfony\Component\HttpFoundation\Response as ResponseAlias; use Throwable; class StripeController extends Controller @@ -338,7 +339,7 @@ class StripeController extends Controller return $this->successResponse([ 'message' => '3D secure redirect', 'payment_url' => $paymentIntent->next_action->redirect_to_url->url - ], Response::HTTP_MOVED_PERMANENTLY); + ], ResponseAlias::HTTP_MOVED_PERMANENTLY); } return $this->handlePaymentIntentResult($transaction, $paymentIntent);