Magento 2 - redirect to final checkout page (checkout success/failed)Adding Message before Magento Payment redirectPayPal order review page redirectMagento Success page, only half or less being reported in Google Analyticsmagento coupen redirect to home page?Can't Access Quote from checkout session after returning from payment GatewayMagento 2 Restore Quote/Cart after order is cancelled/FailedGetOrderPlaceRedirectUrl Doesn't redirect to the gateway secure pageHow do you maintain checkout data and state after a failed payment in Magento 2?Magento2 checkout/onepage/success redirects to cartMagento 2.1 redirects in Observer after payment
Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?
Is it inappropriate for a student to attend their mentor's dissertation defense?
Modeling an IP Address
Accidentally leaked the solution to an assignment, what to do now? (I'm the prof)
What defenses are there against being summoned by the Gate spell?
What is the word for reserving something for yourself before others do?
If human space travel is limited by the G force vulnerability, is there a way to counter G forces?
Is it unprofessional to ask if a job posting on GlassDoor is real?
Maximum likelihood parameters deviate from posterior distributions
Why does Kotter return in Welcome Back Kotter?
Can a vampire attack twice with their claws using Multiattack?
Why doesn't H₄O²⁺ exist?
Are the number of citations and number of published articles the most important criteria for a tenure promotion?
Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?
Can I make popcorn with any corn?
What does it mean to describe someone as a butt steak?
Why can't I see bouncing of switch on oscilloscope screen?
Can a Cauchy sequence converge for one metric while not converging for another?
dbcc cleantable batch size explanation
Codimension of non-flat locus
Why are electrically insulating heatsinks so rare? Is it just cost?
Arrow those variables!
Is it possible to run Internet Explorer on OS X El Capitan?
When a company launches a new product do they "come out" with a new product or do they "come up" with a new product?
Magento 2 - redirect to final checkout page (checkout success/failed)
Adding Message before Magento Payment redirectPayPal order review page redirectMagento Success page, only half or less being reported in Google Analyticsmagento coupen redirect to home page?Can't Access Quote from checkout session after returning from payment GatewayMagento 2 Restore Quote/Cart after order is cancelled/FailedGetOrderPlaceRedirectUrl Doesn't redirect to the gateway secure pageHow do you maintain checkout data and state after a failed payment in Magento 2?Magento2 checkout/onepage/success redirects to cartMagento 2.1 redirects in Observer after payment
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I have a custom payment module. When the user select this payment method at checkout, he is redirected to custom module controller, which redirects him to payment gateway. Then he fills his credit card info and is redirected back to custom module controller. Here I process the gateway reply to see if payment was success or not and update the order status. But currently, the user stays on this page.
How do I redirect him to Checkout Success page (where the order ID tracking and create account buttons are displayed)? It works if I simply redirect him to /checkout/onepage/success, but is this a correct way how to do it?
And how do I redirect him to Checkout failed page? In Magento 1, I restored the cart and redirected him to cart view with error message like this:
//restore cart
$session = Mage::getSingleton('checkout/session');
$lastQuoteId = $session->getLastQuoteId();
$quote = Mage::getModel('sales/quote')->load($lastQuoteId);
$quote->setIsActive(true)->save();
//redirect to cart with error message
$failMsg = $this->__('Payment failed. Please try again.') . " " . $orderReplyStatus->resultText;
Mage::getSingleton('core/session')->addError($failMsg);
$this->_redirect('checkout/cart');
Do I have to do the same in Magento 2 or does Magento 2 have a checkout failed page?
magento2 checkout redirect
bumped to the homepage by Community♦ 5 hours ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
|
show 1 more comment
I have a custom payment module. When the user select this payment method at checkout, he is redirected to custom module controller, which redirects him to payment gateway. Then he fills his credit card info and is redirected back to custom module controller. Here I process the gateway reply to see if payment was success or not and update the order status. But currently, the user stays on this page.
How do I redirect him to Checkout Success page (where the order ID tracking and create account buttons are displayed)? It works if I simply redirect him to /checkout/onepage/success, but is this a correct way how to do it?
And how do I redirect him to Checkout failed page? In Magento 1, I restored the cart and redirected him to cart view with error message like this:
//restore cart
$session = Mage::getSingleton('checkout/session');
$lastQuoteId = $session->getLastQuoteId();
$quote = Mage::getModel('sales/quote')->load($lastQuoteId);
$quote->setIsActive(true)->save();
//redirect to cart with error message
$failMsg = $this->__('Payment failed. Please try again.') . " " . $orderReplyStatus->resultText;
Mage::getSingleton('core/session')->addError($failMsg);
$this->_redirect('checkout/cart');
Do I have to do the same in Magento 2 or does Magento 2 have a checkout failed page?
magento2 checkout redirect
bumped to the homepage by Community♦ 5 hours ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49
|
show 1 more comment
I have a custom payment module. When the user select this payment method at checkout, he is redirected to custom module controller, which redirects him to payment gateway. Then he fills his credit card info and is redirected back to custom module controller. Here I process the gateway reply to see if payment was success or not and update the order status. But currently, the user stays on this page.
How do I redirect him to Checkout Success page (where the order ID tracking and create account buttons are displayed)? It works if I simply redirect him to /checkout/onepage/success, but is this a correct way how to do it?
And how do I redirect him to Checkout failed page? In Magento 1, I restored the cart and redirected him to cart view with error message like this:
//restore cart
$session = Mage::getSingleton('checkout/session');
$lastQuoteId = $session->getLastQuoteId();
$quote = Mage::getModel('sales/quote')->load($lastQuoteId);
$quote->setIsActive(true)->save();
//redirect to cart with error message
$failMsg = $this->__('Payment failed. Please try again.') . " " . $orderReplyStatus->resultText;
Mage::getSingleton('core/session')->addError($failMsg);
$this->_redirect('checkout/cart');
Do I have to do the same in Magento 2 or does Magento 2 have a checkout failed page?
magento2 checkout redirect
I have a custom payment module. When the user select this payment method at checkout, he is redirected to custom module controller, which redirects him to payment gateway. Then he fills his credit card info and is redirected back to custom module controller. Here I process the gateway reply to see if payment was success or not and update the order status. But currently, the user stays on this page.
How do I redirect him to Checkout Success page (where the order ID tracking and create account buttons are displayed)? It works if I simply redirect him to /checkout/onepage/success, but is this a correct way how to do it?
And how do I redirect him to Checkout failed page? In Magento 1, I restored the cart and redirected him to cart view with error message like this:
//restore cart
$session = Mage::getSingleton('checkout/session');
$lastQuoteId = $session->getLastQuoteId();
$quote = Mage::getModel('sales/quote')->load($lastQuoteId);
$quote->setIsActive(true)->save();
//redirect to cart with error message
$failMsg = $this->__('Payment failed. Please try again.') . " " . $orderReplyStatus->resultText;
Mage::getSingleton('core/session')->addError($failMsg);
$this->_redirect('checkout/cart');
Do I have to do the same in Magento 2 or does Magento 2 have a checkout failed page?
magento2 checkout redirect
magento2 checkout redirect
asked Oct 15 '17 at 12:31
Adam JežekAdam Ježek
4218
4218
bumped to the homepage by Community♦ 5 hours ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ 5 hours ago
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49
|
show 1 more comment
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49
|
show 1 more comment
1 Answer
1
active
oldest
votes
You can follow this to achieve your target.
In your cancel controller, I'm naming this Cancel.php
<?php
namespace MagentoSamplePaymentGatewayControllerPayment;
class Cancel extends MagentoFrameworkAppActionAction
protected $checkoutSession;
protected $orderRepository;
/**
* Constructor
*
* @param MagentoFrameworkAppActionContext $context
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoSalesApiOrderRepositoryInterface $orderRepository,
MagentoCheckoutModelSession $checkoutSession
)
$this->checkoutSession = $checkoutSession;
$this->orderRepository = $orderRepository;
parent::__construct($context);
/**
* Execute view action
*
* @return MagentoFrameworkControllerResultInterface
*/
public function execute()
$this->messageManager->addError(__('Payment has been cancelled.'));
/** @var MagentoFrameworkControllerResultRedirect $resultRedirect */
//change order status to cancel
$order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
if ($order)
$order->cancel();
$order->addStatusToHistory(MagentoSalesModelOrder::STATE_CANCELED, __('Canceled by customer.'));
$order->save();
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/cart');
return $resultRedirect;
//return $this->resultPageFactory->create();
And your success controller will be more simpler. I'm just showing you the execute()
method. Success.php
public function execute()
$this->messageManager->addError(__('Payment has been successful.'));
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/onepage/success');
return $resultRedirect;
//return $this->resultPageFactory->create();
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "479"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f197310%2fmagento-2-redirect-to-final-checkout-page-checkout-success-failed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can follow this to achieve your target.
In your cancel controller, I'm naming this Cancel.php
<?php
namespace MagentoSamplePaymentGatewayControllerPayment;
class Cancel extends MagentoFrameworkAppActionAction
protected $checkoutSession;
protected $orderRepository;
/**
* Constructor
*
* @param MagentoFrameworkAppActionContext $context
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoSalesApiOrderRepositoryInterface $orderRepository,
MagentoCheckoutModelSession $checkoutSession
)
$this->checkoutSession = $checkoutSession;
$this->orderRepository = $orderRepository;
parent::__construct($context);
/**
* Execute view action
*
* @return MagentoFrameworkControllerResultInterface
*/
public function execute()
$this->messageManager->addError(__('Payment has been cancelled.'));
/** @var MagentoFrameworkControllerResultRedirect $resultRedirect */
//change order status to cancel
$order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
if ($order)
$order->cancel();
$order->addStatusToHistory(MagentoSalesModelOrder::STATE_CANCELED, __('Canceled by customer.'));
$order->save();
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/cart');
return $resultRedirect;
//return $this->resultPageFactory->create();
And your success controller will be more simpler. I'm just showing you the execute()
method. Success.php
public function execute()
$this->messageManager->addError(__('Payment has been successful.'));
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/onepage/success');
return $resultRedirect;
//return $this->resultPageFactory->create();
add a comment |
You can follow this to achieve your target.
In your cancel controller, I'm naming this Cancel.php
<?php
namespace MagentoSamplePaymentGatewayControllerPayment;
class Cancel extends MagentoFrameworkAppActionAction
protected $checkoutSession;
protected $orderRepository;
/**
* Constructor
*
* @param MagentoFrameworkAppActionContext $context
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoSalesApiOrderRepositoryInterface $orderRepository,
MagentoCheckoutModelSession $checkoutSession
)
$this->checkoutSession = $checkoutSession;
$this->orderRepository = $orderRepository;
parent::__construct($context);
/**
* Execute view action
*
* @return MagentoFrameworkControllerResultInterface
*/
public function execute()
$this->messageManager->addError(__('Payment has been cancelled.'));
/** @var MagentoFrameworkControllerResultRedirect $resultRedirect */
//change order status to cancel
$order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
if ($order)
$order->cancel();
$order->addStatusToHistory(MagentoSalesModelOrder::STATE_CANCELED, __('Canceled by customer.'));
$order->save();
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/cart');
return $resultRedirect;
//return $this->resultPageFactory->create();
And your success controller will be more simpler. I'm just showing you the execute()
method. Success.php
public function execute()
$this->messageManager->addError(__('Payment has been successful.'));
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/onepage/success');
return $resultRedirect;
//return $this->resultPageFactory->create();
add a comment |
You can follow this to achieve your target.
In your cancel controller, I'm naming this Cancel.php
<?php
namespace MagentoSamplePaymentGatewayControllerPayment;
class Cancel extends MagentoFrameworkAppActionAction
protected $checkoutSession;
protected $orderRepository;
/**
* Constructor
*
* @param MagentoFrameworkAppActionContext $context
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoSalesApiOrderRepositoryInterface $orderRepository,
MagentoCheckoutModelSession $checkoutSession
)
$this->checkoutSession = $checkoutSession;
$this->orderRepository = $orderRepository;
parent::__construct($context);
/**
* Execute view action
*
* @return MagentoFrameworkControllerResultInterface
*/
public function execute()
$this->messageManager->addError(__('Payment has been cancelled.'));
/** @var MagentoFrameworkControllerResultRedirect $resultRedirect */
//change order status to cancel
$order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
if ($order)
$order->cancel();
$order->addStatusToHistory(MagentoSalesModelOrder::STATE_CANCELED, __('Canceled by customer.'));
$order->save();
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/cart');
return $resultRedirect;
//return $this->resultPageFactory->create();
And your success controller will be more simpler. I'm just showing you the execute()
method. Success.php
public function execute()
$this->messageManager->addError(__('Payment has been successful.'));
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/onepage/success');
return $resultRedirect;
//return $this->resultPageFactory->create();
You can follow this to achieve your target.
In your cancel controller, I'm naming this Cancel.php
<?php
namespace MagentoSamplePaymentGatewayControllerPayment;
class Cancel extends MagentoFrameworkAppActionAction
protected $checkoutSession;
protected $orderRepository;
/**
* Constructor
*
* @param MagentoFrameworkAppActionContext $context
* @param MagentoFrameworkViewResultPageFactory $resultPageFactory
*/
public function __construct(
MagentoFrameworkAppActionContext $context,
MagentoSalesApiOrderRepositoryInterface $orderRepository,
MagentoCheckoutModelSession $checkoutSession
)
$this->checkoutSession = $checkoutSession;
$this->orderRepository = $orderRepository;
parent::__construct($context);
/**
* Execute view action
*
* @return MagentoFrameworkControllerResultInterface
*/
public function execute()
$this->messageManager->addError(__('Payment has been cancelled.'));
/** @var MagentoFrameworkControllerResultRedirect $resultRedirect */
//change order status to cancel
$order = $this->orderRepository->get($this->checkoutSession->getLastOrderId());
if ($order)
$order->cancel();
$order->addStatusToHistory(MagentoSalesModelOrder::STATE_CANCELED, __('Canceled by customer.'));
$order->save();
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/cart');
return $resultRedirect;
//return $this->resultPageFactory->create();
And your success controller will be more simpler. I'm just showing you the execute()
method. Success.php
public function execute()
$this->messageManager->addError(__('Payment has been successful.'));
$resultRedirect = $this->resultRedirectFactory->create();
$resultRedirect->setPath('checkout/onepage/success');
return $resultRedirect;
//return $this->resultPageFactory->create();
answered Jan 3 '18 at 8:43
Purushotam SangroulaPurushotam Sangroula
1,098925
1,098925
add a comment |
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f197310%2fmagento-2-redirect-to-final-checkout-page-checkout-success-failed%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Which payment method you are using ?
– Keyur Shah
Oct 15 '17 at 13:41
@KeyurShah Custom module I created
– Adam Ježek
Oct 15 '17 at 13:47
Yes but which payment method ?
– Keyur Shah
Oct 15 '17 at 13:48
@KeyurShah I'm not sure what you mean
– Adam Ježek
Oct 15 '17 at 13:49
I mean which payment gateway you are using ?
– Keyur Shah
Oct 15 '17 at 13:49