Example #1
0
 /**
  * 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;
 }