orderRepository = $orderRepository; $this->ipnHelper = $ipnHelper; } /** * Redirects to the paypal. * * @return \Illuminate\View\View */ public function redirect() { return view('paypal::standard-redirect'); } /** * Cancel payment from paypal. * * @return \Illuminate\Http\Response */ public function cancel() { session()->flash('error', 'Paypal payment has been canceled.'); return redirect()->route('shop.checkout.cart.index'); } /** * Success payment * * @return \Illuminate\Http\Response */ public function success() { $order = $this->orderRepository->create(Cart::prepareDataForOrder()); Cart::deActivateCart(); session()->flash('order', $order); return redirect()->route('shop.checkout.success'); } /** * Paypal Ipn listener * * @return \Illuminate\Http\Response */ public function ipn() { $this->ipnHelper->processIpn(request()->all()); } }