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

72 lines
1.5 KiB
PHP
Raw Normal View History

2018-11-16 10:11:08 +00:00
<?php
namespace Webkul\Paypal\Http\Controllers;
2021-03-08 06:04:28 +00:00
use Webkul\Paypal\Helpers\Ipn;
2018-11-16 10:11:08 +00:00
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
2020-03-05 13:37:08 +00:00
* @param \Webkul\Paypal\Helpers\Ipn $ipnHelper
2018-11-16 10:11:08 +00:00
* @return void
*/
public function __construct(
protected OrderRepository $orderRepository,
protected Ipn $ipnHelper
2018-11-16 10:11:08 +00:00
)
{
}
/**
* Redirects to the paypal.
*
2019-08-19 09:30:24 +00:00
* @return \Illuminate\View\View
2018-11-16 10:11:08 +00:00
*/
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');
}
/**
2021-03-08 06:04:28 +00:00
* Success payment.
2018-11-16 10:11:08 +00:00
*
* @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');
}
/**
2021-03-08 06:04:28 +00:00
* Paypal IPN listener.
2018-11-16 10:11:08 +00:00
*
* @return \Illuminate\Http\Response
*/
public function ipn()
{
$this->ipnHelper->processIpn(request()->all());
}
}