/**
  * Verify data required for saving
  * @return Mage_Sales_Model_Order_Payment_Transaction
  * @throws Mage_Core_Exception
  */
 protected function _beforeSave()
 {
     // set parent id
     $this->_verifyPaymentObject();
     $this->setPaymentId($this->_paymentObject->getId())->setOrderId($this->getOrderId());
     return parent::_beforeSave();
 }
Example #2
0
 /**
  * Verify data required for saving
  * @return Mage_Sales_Model_Order_Payment_Transaction
  * @throws Mage_Core_Exception
  */
 protected function _beforeSave()
 {
     // set parent id
     $this->_verifyPaymentObject();
     if (!$this->getId()) {
         // We need to set order and payment ids only for new transactions
         if (null !== $this->_paymentObject) {
             $this->setPaymentId($this->_paymentObject->getId());
         }
         if (null !== $this->_order) {
             $this->setOrderId($this->_order->getId());
         }
         $this->setCreatedAt(Mage::getModel('core/date')->gmtDate());
     }
     return parent::_beforeSave();
 }
Example #3
0
 public function addPayment(Mage_Sales_Model_Order_Payment $payment)
 {
     $payment->setOrder($this)->setParentId($this->getId());
     if (!$payment->getId()) {
         $this->getPaymentsCollection()->addItem($payment);
     }
     return $this;
 }
 /**
  * Get DESC list of specific transactions from payment object
  *
  * @param Mage_Sales_Model_Order_Payment    $payment
  * @param array|string                      $type_filter
  * @return array
  */
 public function getTransactionFromPaymentObject($payment, $type_filter)
 {
     $transactions = array();
     $collection = Mage::getModel('sales/order_payment_transaction')->getCollection()->setOrderFilter($payment->getOrder())->addPaymentIdFilter($payment->getId())->addTxnTypeFilter($type_filter)->setOrder('created_at', Varien_Data_Collection::SORT_ORDER_DESC);
     /** @var Mage_Sales_Model_Order_Payment_Transaction $txn */
     foreach ($collection as $txn) {
         $transactions[] = $txn->setOrderPaymentObject($payment);
     }
     return $transactions;
 }