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 is 150k or 200k jobs considered good when there's 300k+ births a month?
LWC SFDX source push error TypeError: LWC1009: decl.moveTo is not a function
Why is consensus so controversial in Britain?
Is it tax fraud for an individual to declare non-taxable revenue as taxable income? (US tax laws)
Maximum likelihood parameters deviate from posterior distributions
Does detail obscure or enhance action?
Rock identification in KY
Can a vampire attack twice with their claws using Multiattack?
What's the point of deactivating Num Lock on login screens?
Add text to same line using sed
Has there ever been an airliner design involving reducing generator load by installing solar panels?
Perform and show arithmetic with LuaLaTeX
What typically incentivizes a professor to change jobs to a lower ranking university?
What's that red-plus icon near a text?
Is it possible to run Internet Explorer on OS X El Capitan?
Is it legal for company to use my work email to pretend I still work there?
Watching something be written to a file live with tail
How much RAM could one put in a typical 80386 setup?
Codimension of non-flat locus
Modeling an IP Address
Accidentally leaked the solution to an assignment, what to do now? (I'm the prof)
RSA: Danger of using p to create q
High voltage LED indicator 40-1000 VDC without additional power supply
How does one intimidate enemies without having the capacity for violence?
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♦ 7 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♦ 7 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♦ 7 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♦ 7 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