/** * 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; }
/** * Validate the card expiration date. * @param Mage_Payment_Model_Info $info * @return self */ protected function _validateExpirationDate(Mage_Payment_Model_Info $info) { if (!$this->_validateExpDate($info->getCcExpYear(), $info->getCcExpMonth())) { throw Mage::exception('EbayEnterprise_CreditCard', $this->_helper->__(self::INVALID_EXPIRATION_DATE)); } return $this; }
/** * get the expiration date as a datetime object * @param Mage_Payment_Model_Info $payment * @return DateTime */ protected function _getExpirationDateTime(Mage_Payment_Model_Info $payment) { return DateTime::createFromFormat('Y-m', sprintf('%d-%02d', $payment->getCcExpYear(), $payment->getCcExpMonth())); }