public function testLoadByTxnId() { $order = new Mage_Sales_Model_Order(); $order->loadByIncrementId('100000001'); $model = new Mage_Sales_Model_Order_Payment_Transaction(); $model->setOrderPaymentObject($order->getPayment())->loadByTxnId('invalid_transaction_id'); $this->assertNull($model->getId()); $model->loadByTxnId('trx1'); $this->assertNotNull($model->getId()); }
/** * Parent transaction getter * May attempt to load it. * * @param bool $shouldLoad * @return Mage_Sales_Model_Order_Payment_Transaction|false */ public function getParentTransaction($shouldLoad = true) { if (null === $this->_parentTransaction) { $this->_verifyThisTransactionExists(); $this->_parentTransaction = false; $parentId = $this->getParentId(); if ($parentId) { $class = get_class($this); $this->_parentTransaction = new $class(); if ($shouldLoad) { $this->_parentTransaction->setOrderPaymentObject($this->_paymentObject)->load($parentId); if (!$this->_parentTransaction->getId()) { $this->_parentTransaction = false; } else { $this->_parentTransaction->hasChildTransaction(true); } } } } return $this->_parentTransaction; }
/** * 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()); // 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')); $trans->save(); }
/** * 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(); }