/** * Assign data to info model instance * * @param mixed $data * @return Mage_Payment_Model_Method_Abstract */ public function assignData($data) { if (!$data instanceof Varien_Object) { $data = new Varien_Object($data); } $info = $this->getInfoInstance(); // Assign actual payment method data $storedCardId = $data->getStoredCardId(); $storedCards = $this->getStoredCards(); $info->setStoredCardId($storedCardId); // Make sure no extraneous data is kept $info->setCcType(null)->setCcOwner(null)->setCcLast4(null)->setCcNumber(null)->setCcCid(null)->setCcExpMonth(null)->setCcExpYear(null)->setCcSsIssue(null)->setCcSsStartMonth(null)->setCcSsStartYear(null); if (!is_null($storedCardId) && !is_null($storedCards)) { foreach ($storedCards as $storedCard) { if ($storedCardId == $storedCard->getId()) { // Assign CC info (taken from the selected stored card) $info->setCcType($storedCard->getCcType())->setCcLast4($storedCard->getCcLast4())->setCcExpMonth($storedCard->getCcExpMonth())->setCcExpYear($storedCard->getCcExpYear()); break; } } } return $this->_callerMethod; }