示例#1
0
 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());
 }
示例#2
0
 /**
  * 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;
 }
示例#3
0
 /**
  * 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();
 }