Example #1
0
 /**
  * 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();
     if (!$this->_isBackendOrder && $this->_connectionType === Eway_Rapid31_Model_Config::CONNECTION_SHARED_PAGE) {
         //Mage::getSingleton('core/session')->setData('sharedpagePaypal', $data->getSharedpageNotsaved());
         Mage::getSingleton('core/session')->setData('sharedpagePaypal', 'paypal');
     } elseif (!$this->_isBackendOrder && $this->_connectionType === Eway_Rapid31_Model_Config::CONNECTION_TRANSPARENT) {
         $info->setTransparentNotsaved($data->getTransparentNotsaved());
         //Option choice
         if ($data->getMethod() == 'ewayrapid_saved' && !$data->getTransparentSaved()) {
             Mage::throwException(Mage::helper('payment')->__('Please select an option payment for eWay saved'));
         } elseif ($data->getMethod() == 'ewayrapid_notsaved' && !$data->getTransparentNotsaved()) {
             Mage::throwException(Mage::helper('payment')->__('Please select an option payment for eWay not saved'));
         }
         //New Token
         if ($data->getMethod() == 'ewayrapid_saved' && $data->getTransparentSaved() == Eway_Rapid31_Model_Config::PAYPAL_STANDARD_METHOD && $data->getSavedToken() == Eway_Rapid31_Model_Config::TOKEN_NEW && Mage::helper('ewayrapid/customer')->checkTokenListByType(Eway_Rapid31_Model_Config::PAYPAL_STANDARD_METHOD)) {
             Mage::throwException(Mage::helper('payment')->__('You could only save one PayPal account, please select PayPal account existed to payent.'));
         }
         if ($data->getTransparentNotsaved()) {
             Mage::getSingleton('core/session')->setTransparentNotsaved($data->getTransparentNotsaved());
         }
         if ($data->getTransparentSaved()) {
             Mage::getSingleton('core/session')->setTransparentSaved($data->getTransparentSaved());
         }
         if ($data->getMethod()) {
             Mage::getSingleton('core/session')->setMethod($data->getMethod());
         }
         if ($data->getSavedToken()) {
             Mage::getSingleton('core/session')->setSavedToken($data->getSavedToken());
             if (is_numeric($data->getSavedToken())) {
                 $token = Mage::helper('ewayrapid/customer')->getTokenById($data->getSavedToken());
                 /* @var Eway_Rapid31_Model_Request_Token $model */
                 $model = Mage::getModel('ewayrapid/request_token');
                 $type = $model->checkCardName($token);
                 Mage::getSingleton('core/session')->setTransparentSaved($type);
                 unset($model);
                 unset($token);
             }
         }
         $infoCard = new Varien_Object();
         Mage::getSingleton('core/session')->setInfoCard($infoCard->setCcType($data->getCcType())->setOwner($data->getCcOwner())->setLast4($this->_isClientSideEncrypted($data->getCcNumber()) ? 'encrypted' : substr($data->getCcNumber(), -4))->setCard($data->getCcNumber())->setNumber($data->getCcNumber())->setCid($data->getCcCid())->setExpMonth($data->getCcExpMonth())->setExpYear($data->getCcExpYear()));
     } else {
         $info->setCcType($data->getCcType())->setCcOwner($data->getCcOwner())->setCcLast4($this->_isClientSideEncrypted($data->getCcNumber()) ? 'encrypted' : substr($data->getCcNumber(), -4))->setCcNumber($data->getCcNumber())->setCcCid($data->getCcCid())->setCcExpMonth($data->getCcExpMonth())->setCcExpYear($data->getCcExpYear());
     }
     return $this;
 }