/** * Set card payment data from a quote or order payment instance. */ public function importPaymentInfo(Mage_Payment_Model_Info $payment) { if ($payment instanceof Mage_Payment_Model_Info) { if ($payment->getAdditionalInformation('save') === 0) { $this->setActive(0); } if ($payment->getCcType() != '') { $this->setAdditional('cc_type', $payment->getCcType()); } if ($payment->getCcLast4() != '') { $this->setAdditional('cc_last4', $payment->getCcLast4()); } if ($payment->getCcExpYear() > date('Y') || $payment->getCcExpYear() == date('Y') && $payment->getCcExpMonth() >= date('n')) { $this->setAdditional('cc_exp_year', $payment->getCcExpYear())->setAdditional('cc_exp_month', $payment->getCcExpMonth())->setExpires(sprintf("%s-%s-%s 23:59:59", $payment->getCcExpYear(), $payment->getCcExpMonth(), date('t', strtotime($payment->getCcExpYear() . '-' . $payment->getCcExpMonth())))); } $this->setInfoInstance($payment); if ($this->getMethodInstance()->hasInfoInstance() !== true) { $this->getMethodInstance()->setInfoInstance($payment); } } return $this; }