Exemplo n.º 1
0
 /**
  * Fail Action
  *
  * @return void
  */
 public function paymentCancelAction()
 {
     if ($this->request->hasArgument('hash') && !empty($this->request->getArgument('hash'))) {
         $hash = $this->request->getArgument('hash');
         $querySettings = $this->objectManager->get(\TYPO3\CMS\Extbase\Persistence\Generic\Typo3QuerySettings::class);
         $querySettings->setStoragePageIds(array($this->settings['order']['pid']));
         $this->cartRepository->setDefaultQuerySettings($querySettings);
         $this->cart = $this->cartRepository->findOneByFHash($hash);
         if ($this->cart) {
             $orderItem = $this->cart->getOrderItem();
             $payment = $orderItem->getPayment();
             $payment->setStatus('canceled');
             $this->paymentRepository->update($payment);
             $this->persistenceManager->persistAll();
             $this->addFlashMessage(\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('tx_cart.controller.order.action.payment_cancel.successfully_canceled', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::OK);
             $this->sendMails($orderItem, 'cancel', __CLASS__, __FUNCTION__);
             $this->view->assign('orderItem', $orderItem);
         } else {
             $this->addFlashMessage(\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('tx_cart.controller.order.action.payment_cancel.error_occured', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
         }
     } else {
         $this->addFlashMessage(\TYPO3\CMS\Extbase\Utility\LocalizationUtility::translate('tx_cart.controller.order.action.payment_cancel.access_denied', $this->extensionName), '', \TYPO3\CMS\Core\Messaging\AbstractMessage::ERROR);
     }
 }