Assume that add to Cart url is www.example.com/checkout/cart/add
.
In this case, you can use event checkout_cart_add_product_complete
.
Using this event,You can Redirect to last page from here you have click on AddtoCart
Observer
<?php
# app/code/Devamitbera/CartRedirect/Observer/ObserverToskipCartgotoCheckout
namespace Devamitbera\CartRedirect\Observer;
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\App\Request\DataPersistorInterface;
use Magento\Framework\App\ObjectManager;
class ObserverToskipCartgotoCheckout implements ObserverInterface
{
/**
*
* @var \Magento\Framework\UrlInterface
*/
protected $_urlManager;
/**
* @var \Magento\Framework\Message\ManagerInterface
*/
protected $messageManager;
/**
* @var \Magento\Framework\App\Response\RedirectInterface
*/
protected $redirect;
private $_pageConfig;
/**
* @param \Magento\Framework\App\ActionFlag $actionFlag
* @param \Magento\Framework\Message\ManagerInterface $messageManager
* @param \Magento\Framework\App\Response\RedirectInterface $redirect
*/
public function __construct(
\Magento\Framework\App\ActionFlag $actionFlag,
\Magento\Framework\Message\ManagerInterface $messageManager,
\Magento\Framework\App\Response\RedirectInterface $redirect,
\Magento\Framework\UrlInterface $urlManager,
\Magento\Framework\View\Page\Config $pageConfig
) {
$this->_actionFlag = $actionFlag;
$this->messageManager = $messageManager;
$this->_urlManager = $urlManager;
$this->redirect = $redirect;
}
/**
*
* @param \Magento\Framework\Event\Observer $observer
* @return void
*/
public function execute(\Magento\Framework\Event\Observer $observer)
{
$request = $observer->getRequest();
$response = $observer->getResponse();
$product = $observer->getProduct();
if (!$request->isAjax()) {
$url = $this->_urlManager->getUrl('checkout/index/index');
//$this->_objectManager->get('Psr\Log\LoggerInterface')->critical($url);
$request->setParam('return_url',$url);
}
}
}
event file:
<?xml version="1.0"?>
<!--
#app/code/Devamitbera/CartRedirect/etc/events.xml
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_cart_add_product_complete">
<observer name="forrceToCheckout" instance="Devamitbera\CartRedirect\Observer\ObserverToskipCartgotoCheckout" />
</event>
</config>