/**
  * 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();
     $info->setAdditionalInformation('sender_hash', $data->getSenderHash())->setAdditionalInformation('credit_card_token', $data->getCreditCardToken())->setAdditionalInformation('credit_card_owner', $data->getPsCcOwner())->setCcType($data->getPsCardType())->setCcLast4(substr($data->getPsCcNumber(), -4));
     //cpf
     if (Mage::helper('ricardomartins_pagseguro')->isCpfVisible()) {
         $info->setAdditionalInformation($this->getCode() . '_cpf', $data->getData($this->getCode() . '_cpf'));
     }
     //DOB
     $ownerDobAttribute = Mage::getStoreConfig('payment/pagseguro_cc/owner_dob_attribute');
     if (empty($ownerDobAttribute)) {
         $info->setAdditionalInformation('credit_card_owner_birthdate', date('d/m/Y', strtotime($data->getPsCcOwnerBirthdayYear() . '/' . $data->getPsCcOwnerBirthdayMonth() . '/' . $data->getPsCcOwnerBirthdayDay())));
     }
     //Installments
     if ($data->getPsCcInstallments()) {
         $installments = explode('|', $data->getPsCcInstallments());
         if (false !== $installments && count($installments) == 2) {
             $info->setAdditionalInformation('installment_quantity', (int) $installments[0]);
             $info->setAdditionalInformation('installment_value', $installments[1]);
         }
     }
     return $this;
 }