| Current Path : /home/rtorresani/www/vendor/magento/module-sales/Controller/Adminhtml/Order/ |
| Current File : //home/rtorresani/www/vendor/magento/module-sales/Controller/Adminhtml/Order/VoidPayment.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Sales\Controller\Adminhtml\Order;
class VoidPayment extends \Magento\Sales\Controller\Adminhtml\Order
{
/**
* Attempt to void the order payment
*
* @return \Magento\Backend\Model\View\Result\Redirect
*/
public function execute()
{
$order = $this->_initOrder();
$resultRedirect = $this->resultRedirectFactory->create();
if ($order) {
try {
// workaround for backwards compatibility
$order->getPayment()->void(new \Magento\Framework\DataObject());
$order->save();
$this->messageManager->addSuccessMessage(__('The payment has been voided.'));
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addErrorMessage($e->getMessage());
} catch (\Exception $e) {
$this->messageManager->addErrorMessage(__('We can\'t void the payment right now.'));
$this->_objectManager->get(\Psr\Log\LoggerInterface::class)->critical($e);
}
$resultRedirect->setPath('sales/*/view', ['order_id' => $order->getId()]);
return $resultRedirect;
}
$resultRedirect->setPath('sales/*/');
return $resultRedirect;
}
}