How to delete a cart after successful payment in Laravel

In this tutorial, I’m going to learn how to delete or remove a cart when payment is successful. so follow this tutorial in this tutorial we have mentioned it in a very easy way.

This is the main code:-

Code:-

 $id = Auth::user()->id;
                $cart = addcart::where('admin_id', $id)->get();
                foreach ($cart as $cart) {
                    $cart->isSuccessful = true;
                    $cart->delete();
                }

How to implement it in Store Function:-

if ($response->isSuccessful()) {

                Log::info("response paypal success m kya aa rha h");

                $arr = $response->getData();

                $payment = new paypal();
                $payment->payment_id = $arr['id'];
                $payment->payer_id = $arr['payer']['payer_info']['payer_id'];
                $payment->payer_email = $arr['payer']['payer_info']['email'];
                $payment->amount = $arr['transactions'][0]['amount']['total'];
                $payment->currency = env('PAYPAL_CURRENCY');
                $payment->payment_status = $arr['state'];
                $payment->admin_id = $request->session()->get('admin_id');
                $payment->user_name = $request->session()->get('user_name');
                $payment->slug = $request->session()->get('slug');
                $payment->admin_email = $request->session()->get('admin_email');
                $payment->org_slug = $request->session()->get('org_slug');
                
                $influencerEmails = $request->session()->get('influencer_email', []);
                $influencerNames = $request->session()->get('influencer_name', []);
                if (!empty($influencerEmails)) {

                    $influencers = [];
                    for ($i = 0; $i < count($influencerEmails); $i++) {
                        $influencers[] = [
                            'influencer_email' => $influencerEmails[$i],
                            // 'influencer_name' => $influencerNames[$i]
                        ];
                    }
                    $payment->influencer_email = json_encode($influencers);
                }
                if (!empty($influencerNames) ) {

                    $influencersname = [];
                    for ($i = 0; $i < count($influencerNames); $i++) {
                        $influencersname[] = [
                            // 'influencer_email' => $influencerEmails[$i],
                            'influencer_name' => $influencerNames[$i]
                        ];
                    }
                    $payment->influencer_name = json_encode($influencersname);
                }

                $payment->save();
                // session()->forget('addcart');

                $id = Auth::user()->id;
                $cart = addcart::where('admin_id', $id)->get();
                foreach ($cart as $cart) {
                    $cart->isSuccessful = true;
                    $cart->delete();
                }
                // Store the admin_id in the session
                // $request->session()->put('admin_id', $request->input('admin_id'));
                // return "Payment is Successfull. Your Transaction Id is : " . $arr['id'];
                // return back()->with("success", "Payment is Successfull. Your Transaction Id is : " . $arr['id']);
                return redirect()->route('carts')->with("success", "Payment is Successfull. Your Transaction Id is : " . $arr['id']);
            } 

Hopefully, It will help You !!!!!!

Related Posts

Continuous Data Validation in DataOps: The Complete Architecture Guide

Continuous data validation is the systematic practice of asserting data correctness, schema consistency, and distribution integrity across every state boundary of an enterprise data pipeline. In DataOps,…

Read More

Implementing XOps: Key Pillars, Common Challenges, and Real-World Solutions

Introduction Modern engineering teams rarely run on pure application code alone. Enterprise software delivery now relies on distributed microservices, complex telemetry pipelines, machine learning inference engines, high-throughput…

Read More

Navigating Urology Treatment: From Early Symptoms to Advanced Care

Introduction Experiencing changes in urinary habits, persistent pelvic discomfort, or sudden kidney pain can feel unsettling. Many individuals delay seeking help because they are uncertain which doctor…

Read More

Modern DataOps Observability: A Practical Guide to Real-Time Data Monitoring

Introduction Organizations increasingly rely on fast event streams to power critical operational decisions. Applications across industries run on immediate analytical feedback loops: automated fraud prevention systems scoring…

Read More

Navigating Upcoming Events in Lucknow: Indie Stages, Concerts, and Art Spaces

Introduction Finding reliable, engaging activities across Lucknow often presents an unexpected challenge. Residents looking to unwind after a busy work week, college students seeking creative outlets, and…

Read More

Places to Visit in Bihar: An In-Depth Look at Regional History and Architecture

Introduction Planning a trip to eastern India often brings up questions about where to start, how connectivity works, and which heritage sites justify a visit. Bihar is…

Read More