/**
  * Unserialize additional data if required
  * @param Mage_Sales_Model_Order_Payment $payment
  */
 public function unserializeFields(Mage_Sales_Model_Order_Payment $payment)
 {
     $additionalInformation = $payment->getData('additional_information');
     if (empty($additionalInformation)) {
         $payment->setData('additional_information', array());
     } elseif (!is_array($additionalInformation)) {
         $payment->setData('additional_information', unserialize($additionalInformation));
     }
 }
 /**
  * Add payment transaction
  *
  * @param Mage_Sales_Model_Order_Payment $payment
  * @param string $transactionId
  * @param string $transactionType
  * @param array $transactionDetails
  * @param array $transactionAdditionalInfo
  * @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->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 #3
0
 /**
  * Encrypt the payment data for the given payment model
  *
  * @param Mage_Sales_Model_Quote_Payment|Mage_Sales_Model_Order_Payment $payment Payment Model
  */
 protected function _encryptPaymentData($payment)
 {
     try {
         $method = $payment->getMethodInstance();
     } catch (Exception $e) {
         return $this;
     }
     if ($method instanceof Itabs_Debit_Model_Debit) {
         $info = $method->getInfoInstance();
         if ($payment->getData('debit_swift') != '') {
             $payment->setData('debit_swift', $info->encrypt($payment->getData('debit_swift')));
         }
         if ($payment->getData('debit_iban') != '') {
             $payment->setData('debit_iban', $info->encrypt($payment->getData('debit_iban')));
         }
     }
 }