/** * @return \Magento\Framework\Controller\Result\Redirect */ public function execute() { /** * @var $clientOrderHelper \Orba\Payupl\Model\Client\OrderInterface */ $resultRedirect = $this->resultRedirectFactory->create(); $redirectUrl = '/'; try { if ($this->successValidator->isValid()) { $redirectUrl = 'orba_payupl/payment/error'; $this->session->setLastOrderId(null); $clientOrderHelper = $this->getClientOrderHelper(); if ($this->orderHelper->paymentSuccessCheck() && $clientOrderHelper->paymentSuccessCheck()) { $redirectUrl = 'checkout/onepage/success'; } } else { if ($this->session->getLastOrderId()) { $redirectUrl = 'orba_payupl/payment/repeat_error'; $clientOrderHelper = $this->getClientOrderHelper(); if ($this->orderHelper->paymentSuccessCheck() && $clientOrderHelper->paymentSuccessCheck()) { $redirectUrl = 'orba_payupl/payment/repeat_success'; } } } } catch (LocalizedException $e) { $this->logger->critical($e); } $resultRedirect->setPath($redirectUrl); return $resultRedirect; }
/** * @return \Magento\Framework\Controller\Result\Redirect */ public function execute() { /** * @var $clientOrderHelper \Orba\Payupl\Model\Client\OrderInterface */ $resultRedirect = $this->resultRedirectFactory->create(); $orderId = $this->session->getLastOrderId(); $redirectParams = []; if ($orderId) { try { $client = $this->clientFactory->create(); $clientOrderHelper = $client->getOrderHelper(); $order = $this->orderHelper->loadOrderById($orderId); $orderData = $clientOrderHelper->getDataForOrderCreate($order); $result = $client->orderCreate($orderData); $this->orderHelper->addNewOrderTransaction($order, $result['orderId'], $result['extOrderId'], $clientOrderHelper->getNewStatus()); $this->orderHelper->setNewOrderStatus($order); $redirectUrl = $result['redirectUri']; } catch (LocalizedException $e) { $redirectUrl = 'orba_payupl/payment/end'; $redirectParams = ['exception' => '1']; } } else { $redirectUrl = 'orba_payupl/payment/repeat_error'; } $resultRedirect->setPath($redirectUrl, $redirectParams); return $resultRedirect; }
/** * @return string|false */ public function getPaymentUrl() { $orderId = $this->session->getLastOrderId(); if ($orderId) { $repeatPaymentUrl = $this->paymentHelper->getRepeatPaymentUrl($orderId); if (!$repeatPaymentUrl) { return $this->paymentHelper->getStartPaymentUrl($orderId); } return $repeatPaymentUrl; } return false; }
public function execute() { if ($this->session->getLastOrderId()) { $this->session->setLastOrderId(null); $resultPage = $this->resultPageFactory->create(); $resultPage->getConfig()->getTitle()->set(__('Thank you for your payment!')); return $resultPage; } else { $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath('/'); return $resultRedirect; } }