Beispiel #1
0
 /**
  * Show payment page
  * @return \Magento\Framework\View\Result\PageFactory
  */
 public function execute()
 {
     $resultPage = $this->_resultPageFactory->create();
     $resultPage->getLayout()->getBlock('pagseguro.direct.payment')->setData('order', $this->_checkoutSession->getLastRealOrder()->getId());
     try {
         $this->_library->setEnvironment();
         $resultPage->getLayout()->getBlock('pagseguro.direct.payment')->setData('sessionCode', $this->_library->getSession());
         $resultPage->getLayout()->getBlock('pagseguro.direct.payment')->setData('paymentUrl', $this->_library->getDirectPaymentUrl());
     } catch (\Exception $exc) {
         /** @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');
     }
     return $resultPage;
 }