From 2d13492f1f27a19809ffb6c6c22b2646093f11db Mon Sep 17 00:00:00 2001 From: "sweep-ai[bot]" <128439645+sweep-ai[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 17:38:19 +0000 Subject: [PATCH] feat(checkout): Streamline checkout process and ad --- app/Http/Controllers/CheckoutController.php | 45 +++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 app/Http/Controllers/CheckoutController.php diff --git a/app/Http/Controllers/CheckoutController.php b/app/Http/Controllers/CheckoutController.php new file mode 100644 index 0000000..59ca867 --- /dev/null +++ b/app/Http/Controllers/CheckoutController.php @@ -0,0 +1,45 @@ +<?php + +namespace App\Http\Controllers; + +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Session; +use Illuminate\Support\Facades\Validator; + +class CheckoutController extends Controller +{ + public function guestCheckout(Request $request) + { + $cart = $request->session()->get('cart', []); + $request->session()->put('guest_cart', $cart); + $request->session()->put('is_guest', true); + } + + public function checkout(Request $request) + { + if ($request->session()->get('is_guest', false)) { + $this->guestCheckout($request); + } + + // Streamline checkout steps + $checkoutData = $request->only(['email', 'shipping_address', 'payment_method']); + $this->verifyPaymentAndShippingInfo($checkoutData); + + // Proceed with checkout logic... + } + + protected function verifyPaymentAndShippingInfo(array $data) + { + $validator = Validator::make($data, [ + 'email' => 'required|email', + 'shipping_address' => 'required|string|max:255', + 'payment_method' => 'required|string|max:255', + ]); + + if ($validator->fails()) { + throw new \Illuminate\Validation\ValidationException($validator); + } + + // Verification logic... + } +}