/** * Load the tansaction object by specified txn_id * @param Mage_Sales_Model_Order_Payment_Transaction $transaction * @param int $orderId * @param int $paymentId * @param string $txnId */ public function loadObjectByTxnId(Mage_Sales_Model_Order_Payment_Transaction $transaction, $orderId, $paymentId, $txnId) { $select = $this->_getLoadByUniqueKeySelect($orderId, $paymentId, $txnId); $data = $this->_getWriteAdapter()->fetchRow($select); $transaction->setData($data); $this->unserializeFields($transaction); $this->_afterLoad($transaction); }
/** * Unserialize additional information if required * @param Mage_Sales_Model_Order_Payment_Transaction $transaction */ public function unserializeFields(Mage_Sales_Model_Order_Payment_Transaction $transaction) { $additionalInformation = $transaction->getData('additional_information'); if (empty($additionalInformation)) { $transaction->setData('additional_information', array()); } elseif (!is_array($additionalInformation)) { $transaction->setData('additional_information', unserialize($additionalInformation)); } }