بهینه کردن کلاس PaymentController

پرسیده شده
فعالیت 916 روز پیش
دیده شده 447 بار
0

سلام خسته نباشید ممنون از این پروژه عالی .

 

من برای بهینه تر و کوتاه تر شدن متد اومدم ، Order , orderItem , Payment , user  رو بردم توی متد های جداگانه و پرایوت توی کلاس PaymentController و داخل متد pay همه رو صدا زدم و مراحل به درستی کار کردن .

 

میخواستم بدونم درست انجام دادم ؟ 

public function pay (PayRequest $request)
    {        
        try {

            $user = $this->setUser($request);

            $orderItem = json_decode(Cookie::get('basket'),true);

            if(count($orderItem) <= 0){
                throw new \InvalidArgumentException('سبد خرید شما خالی میباشد');
            }

            $products = Product::findMany(array_keys($orderItem)) ;

            $totalPrice = $products->sum( 'price' ) ;

            $ref_code = Str::random(30) ;

            $createdOrder = $this->setOrder($totalPrice , $user , $ref_code);

            $this->setOrderItems($products,$createdOrder);

            $this->setPayment($createdOrder , $ref_code);
            
            $idPayRequest = new IDPayRequest([
                'amount'    => $totalPrice,
                'user'      => $user,
                'order_id'  => $ref_code,
                'apiKey'  => config('services.gateways.id_pay.api_key'),
            ]);
                
            $paymentService = new PaymentService(PaymentService::IDPAY , $idPayRequest);
            return $paymentService->pay();

        }catch (\Exception $e) {
            return back()->with('failed' , $e->getMessage());
        }
        
    }
فایل پیوست

هادی قاسمی
هادی قاسمی

27 مهر 00

0
حذف شده

سلام و احترام

بله موردی نداره

فایل پیوست

امیر صالحی

توسط

امیر صالحی

30 مهر 00

جلسه فرایند پرداخت آنلاین: پیاده سازی صفحه callback (بخش اول)