/** * Weiterleiten auf hipay */ public function redirectAction() { Mage::log('MapiController > redirectAction'); try { Mage::log($_SERVER['REQUEST_URI']); $uri = $_SERVER['REQUEST_URI']; $uriArray = explode("/", $uri); $redirectOrder = trim(end($uriArray)); $session = $this->_getCheckout(); $orderId = $session->getLastRealOrderId(); if ($orderId == $redirectOrder) { $order = Mage::getModel('sales/order'); $order->loadByIncrementId($orderId); $token = Mage::helper('hipaymod')->generateToken(); Mage::log("Token: [" . $token . "]"); $_SESSION['hipay_token_' . $token] = $orderId; $resultArray = Mage::helper('hipaymod')->getSinglePaymentUrl($order, $token); $paymentUrl = $resultArray["paymentUrl"]; $errorMsg = $resultArray["errorMsg"]; if (!empty($paymentUrl)) { $order->addStatusHistoryComment(Mage::helper('hipaymod')->__('The customer was redirected to Hipay'), Mage_Sales_Model_Order::STATE_PENDING_PAYMENT); $order->save(); Mage::log("redirect to '" . $paymentUrl . "'"); parent::_redirectUrl($paymentUrl); } else { Mage::log("redirect error: '" . $errorMsg . "'"); $this->_redirect('checkout/cart'); } } else { Mage::log("Illegal redirect attempt"); $this->_redirect('checkout/cart'); } } catch (Exception $e) { Mage::logException($e); parent::_redirect('checkout/cart'); } }
protected function _redirectUrl($url = '') { return parent::_redirectUrl($this->_getRedirectUrl($url)); }