Example #1
0
 /**
  * 1) Called everytime the adyen_cc is called or used in checkout
  * @description Assign data to info model instance
  *
  * @param   mixed $data
  * @return  Mage_Payment_Model_Info
  */
 public function assignData($data)
 {
     if (!$data instanceof Varien_Object) {
         $data = new Varien_Object($data);
     }
     $info = $this->getInfoInstance();
     // set number of installements
     $info->setAdditionalInformation('number_of_installments', $data->getAdditionalData());
     // save value remember details checkbox
     $info->setAdditionalInformation('store_cc', $data->getStoreCc());
     if ($this->isCseEnabled()) {
         $info->setCcType($data->getCcType());
         $info->setAdditionalInformation('encrypted_data', $data->getEncryptedData());
     } else {
         $info->setCcType($data->getCcType())->setCcOwner($data->getCcOwner())->setCcLast4(substr($data->getCcNumber(), -4))->setCcNumber($data->getCcNumber())->setCcExpMonth($data->getCcExpMonth())->setCcExpYear($data->getCcExpYear())->setCcCid($data->getCcCid())->setPoNumber($data->getAdditionalData());
     }
     if ($info->getAdditionalInformation('number_of_installments') != "") {
         // recalculate the totals so that extra fee is defined
         $quote = Mage::getModel('checkout/type_onepage') !== false ? Mage::getModel('checkout/type_onepage')->getQuote() : Mage::getModel('checkout/session')->getQuote();
         $quote->setTotalsCollectedFlag(false);
         $quote->collectTotals();
     }
     return $this;
 }