public function transactionDetailModalAction() { if ($this->getRequest()->getParam('vendortxcode') || $this->getRequest()->getParam('vpstxid')) { $id = $this->getRequest()->getParam('vendortxcode') ? $this->getRequest()->getParam('vendortxcode') : $this->getRequest()->getParam('vpstxid'); try { if ($this->getRequest()->getParam('vpstxid')) { $response = Mage::getModel('sagepayreporting/sagepayreporting')->getTransactionDetails(null, urldecode($id)); $relatedTrns = Mage::getModel('sagepayreporting/sagepayreporting')->getRelatedTransactions(urldecode($id)); if ($relatedTrns['ok'] === true) { Mage::register('sagepay_related_transactions', $relatedTrns['result']); } else { $response = new Varien_Object(); $response->setError($relatedTrns['result']); $response->setErrorcode('-1'); } } else { Mage::register('sagepay_related_transactions', new Varien_Object()); $response = Mage::getModel('sagepayreporting/sagepayreporting')->getTransactionDetails($id, null); } } catch (Exception $exc) { //$this->_getSession()->addError($exc->getMessage()); $response = new Varien_Object(); $response->setError($exc->getMessage()); $response->setErrorcode('-1'); } if ($response->getErrorcode() == '0000') { Mage::register('sagepay_detail', $response); } else { $this->_getSession()->addError(Mage::helper('sagepayreporting/error')->parseError($response->getError(), Mage::getStoreConfig('sagepayreporting/account/vendor'))); } } else { Mage::register('sagepay_detail', null); } $this->loadLayout('popup_sagepay')->renderLayout(); }