/**
  * Add payment transaction
  *
  * @param Mage_Sales_Model_Order_Payment $payment
  * @param string $transactionId
  * @param string $transactionType
  * @param array $transactionDetails
  * @param array $transactionAdditionalInfo
  * @param bool $message
  * @return null|Mage_Sales_Model_Order_Payment_Transaction
  */
 protected function _addTransaction(Mage_Sales_Model_Order_Payment $payment, $transactionId, $transactionType, array $transactionDetails = array(), array $transactionAdditionalInfo = array(), $message = false)
 {
     $payment->setTransactionId($transactionId);
     $payment->setLastTransId($transactionId);
     $payment->resetTransactionAdditionalInfo();
     foreach ($transactionDetails as $key => $value) {
         $payment->setData($key, $value);
     }
     foreach ($transactionAdditionalInfo as $key => $value) {
         $payment->setTransactionAdditionalInfo($key, $value);
     }
     $transaction = $payment->addTransaction($transactionType, null, false, $message);
     //foreach ($transactionDetails as $key => $value) {
     //    $payment->unsetData($key);
     //}
     //$payment->unsLastTransId();
     /**
      * It for self using
      */
     $transaction->setMessage($message);
     return $transaction;
 }
Example #2
0
 /**
  * Set Payment Transaction Information
  *
  * @param Mage_Sales_Model_Order_Payment $payment Sales Payment Model
  * @param array                  $params Request params
  */
 protected function setPaymentTransactionInformation($payment, $params)
 {
     $payment->setTransactionId($params['PAYID']);
     $code = $payment->getMethodInstance()->getCode();
     if (in_array($code, array('postfinance_cc', 'postfinance_directDebit'))) {
         $payment->setIsTransactionClosed(false);
         $payment->addTransaction("authorization", null, true, $this->__("Process outgoing transaction"));
         $payment->setLastTransId($params['PAYID']);
         if (isset($params['HTML_ANSWER'])) {
             $payment->setAdditionalInformation('HTML_ANSWER', $params['HTML_ANSWER']);
         }
     }
     $payment->setAdditionalInformation('paymentId', $params['PAYID']);
     $payment->setAdditionalInformation('status', $params['STATUS']);
     $payment->setIsTransactionClosed(true);
     $payment->setDataChanges(true);
     $payment->save();
 }