/**
  * Re-create order with new transaction returned by Eway
  * @param $data
  */
 private function __createNewTransaction(Mage_Sales_Model_Order $order, $transId)
 {
     // Load transaction
     $currentTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('order_id', array('eq' => $order->getEntityId()));
     foreach ($currentTrans as $t) {
     }
     if ($t == null) {
         $t = new Mage_Sales_Model_Order_Payment_Transaction();
     }
     $trans = new Mage_Sales_Model_Order_Payment_Transaction();
     // Load payment object
     $payment = Mage::getModel('sales/order_payment')->load($t->getPaymentId());
     $trans->setOrderPaymentObject($payment);
     $trans->setOrder($order);
     $trans->setParentId($t->getTransactionId());
     $trans->setOrderId($order->getEntityId());
     $trans->setPaymentId($t->getPaymentId());
     $trans->setTxnId($transId);
     $trans->setParentTxnId($t->getTxnId());
     $trans->setTxnType($t->getTxnType());
     $trans->setIsClosed($t->getIsClosed());
     $trans->setCreatedAt(date('Y-m-d H:i:s'));
     $trans->save();
 }
 /**
  * Create new transaction with base order
  * @param $data
  */
 private function __createNewTransaction(Mage_Sales_Model_Order $order, $transId)
 {
     // Load transaction
     $currentTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('order_id', array('eq' => $order->getEntityId()));
     foreach ($currentTrans as $t) {
     }
     if ($t == null) {
         $t = new Mage_Sales_Model_Order_Payment_Transaction();
     }
     $trans = new Mage_Sales_Model_Order_Payment_Transaction();
     // Load payment object
     $payment = Mage::getModel('sales/order_payment')->load($t->getPaymentId());
     $trans->setOrderPaymentObject($payment);
     $trans->setOrder($order);
     $trans->setParentId($t->getTransactionId());
     $trans->setOrderId($order->getEntityId());
     $trans->setPaymentId($t->getPaymentId());
     // Get new TxnId
     $break = true;
     for ($i = 0; $i < 100; $i++) {
         $transId += 1;
         $newTrans = Mage::getModel('sales/order_payment_transaction')->getCollection()->addFieldToFilter('txn_id', array('eq' => $transId));
         if (count($newTrans) == 0) {
             $break = false;
             break;
         }
     }
     if ($break) {
         return false;
     }
     $trans->setTxnId($transId);
     $trans->setParentTxnId($t->getTxnId());
     $trans->setTxnType($t->getTxnType());
     $trans->setIsClosed($t->getIsClosed());
     $trans->setCreatedAt(date('Y-m-d H:i:s'));
     try {
         $trans->save();
     } catch (Exception $e) {
         // Do something
     }
     return true;
 }