/** * Show payment page * @return \Magento\Framework\View\Result\PageFactory */ public function execute() { $result = $this->payment->createPaymentRequest(); $resultPage = $this->resultPageFactory->create(); $code = $result->getCode(); $resultPage->getLayout()->getBlock('pagseguro.payment.checkout')->setCode($code); $resultPage->getLayout()->getBlock('pagseguro.payment.checkout')->setPaymentJs($this->getPagSeguroPaymentJs()); $resultPage->getLayout()->getBlock('pagseguro.payment.checkout')->setPaymentUrl($this->payment->checkoutUrl($code, 'paymentService')); return $resultPage; }
/** * Redirect to payment * * @return \Magento\Framework\Controller\Result\Redirect */ public function execute() { try { return $this->_resultRedirectFactory->create()->setPath($this->_payment->createPaymentRequest()); } catch (\Exception $exception) { /** @var \Magento\Sales\Model\Order $order */ $order = $this->_objectManager->create('\\Magento\\Sales\\Model\\Order')->load($this->_checkoutSession->getLastRealOrder()->getId()); /** change payment status in magento */ $order->addStatusToHistory('pagseguro_cancelada', null, true); /** save order */ $order->save(); return $this->_redirect('pagseguro/payment/failure'); } }