sarga/packages/Webkul/Paypal/src/Http/Controllers/StandardController.php

72 lines
1.5 KiB
PHP
Executable File

<?php
namespace Webkul\Paypal\Http\Controllers;
use Webkul\Paypal\Helpers\Ipn;
use Webkul\Checkout\Facades\Cart;
use Webkul\Sales\Repositories\OrderRepository;
class StandardController extends Controller
{
/**
* Create a new controller instance.
*
* @param \Webkul\Attribute\Repositories\OrderRepository $orderRepository
* @param \Webkul\Paypal\Helpers\Ipn $ipnHelper
* @return void
*/
public function __construct(
protected OrderRepository $orderRepository,
protected Ipn $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());
}
}