/** * 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; }