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);
     }
     // salva a bandeira, o numero de parcelas e o token
     $info = $this->getInfoInstance();
     $additionaldata = array('parcels_number' => $data->getParcelsNumber());
     if ($data->getToken()) {
         $tokenData = $this->_getTokenById($data->getToken());
         $additionaldata['token'] = $tokenData['token'];
         $data->setCcType($tokenData['ccType']);
     }
     $info->setCcType($data->getCcType())->setCcNumber(Mage::helper('core')->encrypt($data->getCcNumber()))->setCcOwner($data->getCcOwner())->setCcExpMonth($data->getCcExpMonth())->setCcExpYear($data->getCcExpYear())->setCcCid(Mage::helper('core')->encrypt($data->getCcCid()))->setAdditionalData(serialize($additionaldata));
     // pega dados de juros
     $withoutInterest = intval($this->getConfigData('installment_without_interest', $this->getStoreId()));
     $interestValue = floatval($this->getConfigData('installment_interest_value', $this->getStoreId()));
     // verifica se há juros
     if ($data->getParcelsNumber() > $withoutInterest) {
         $installmentValue = Mage::helper('Query_Cielo')->calcInstallmentValue($info->getQuote()->getGrandTotal(), $interestValue / 100, $data->getParcelsNumber());
         $installmentValue = round($installmentValue, 2);
         $interest = $installmentValue * $data->getParcelsNumber() - $info->getQuote()->getGrandTotal();
         $info->getQuote()->setInterest($info->getQuote()->getStore()->convertPrice($interest, false));
         $info->getQuote()->setBaseInterest($interest);
         $info->getQuote()->setTotalsCollectedFlag(false)->collectTotals();
         $info->getQuote()->save();
     } else {
         $info->getQuote()->setInterest(0.0);
         $info->getQuote()->setBaseInterest(0.0);
         $info->getQuote()->setTotalsCollectedFlag(false)->collectTotals();
         $info->getQuote()->save();
     }
     return $this;
 }
 public function testGetTokenInfo()
 {
     $payment = new Varien_Object();
     $payment->setCcCid('789');
     $vaultCard = new Varien_Object();
     $vaultCard->setCcType('VI');
     $vaultCard->setLast4('1234');
     $vaultCard->setType('VI');
     $vaultCard->setExpirationMonth('12');
     $vaultCard->setExpirationYear('2050');
     $vaultCard->setToken('1111222233331234');
     $litle = new Litle_CreditCard_Model_PaymentLogic();
     $modelPalorusVault = $this->getMock('Litle_Palorus_Model_Vault');
     $modelPalorusVault->expects($this->any())->method('load')->with($this->equalTo(50))->will($this->returnValue($vaultCard));
     $litle->setModelPalorusVault($modelPalorusVault);
     $info = new Mage_Payment_Model_Info();
     $info->setAdditionalInformation('cc_vaulted', 50);
     $arr = array('info_instance' => $info);
     $litle->addData($arr);
     $tokenInfo = $litle->getTokenInfo($payment);
     $this->assertEquals('1234', $payment->getCcLast4());
     $this->assertEquals('VI', $payment->getCcType());
     $this->assertEquals('789', $tokenInfo['cardValidationNum']);
     $this->assertEquals('VI', $tokenInfo['type']);
     $this->assertEquals('1111222233331234', $tokenInfo['litleToken']);
     $this->assertEquals('1250', $tokenInfo['expDate']);
 }
Example #3
0
 public function getGwapPaymentData($payment)
 {
     $data = new Varien_Object();
     if ($payment->getCcType()) {
         $data->setCcType($payment->getCcType());
     }
     if ($payment->getCcOwner()) {
         $data->setCcOwner($payment->getCcOwner());
     }
     if ($payment->getCcLast4()) {
         $data->setCcLast4($payment->getCcLast4());
     }
     if (Mage::getModel('core/session')->getGwapCcCcNumber()) {
         $data->setCcNumber(Mage::getModel('core/session')->getGwapCcCcNumber());
     }
     if (Mage::getModel('core/session')->getGwapCcId()) {
         $data->setCcCid(Mage::getModel('core/session')->getGwapCcId());
     }
     if ($payment->getCcParcelas()) {
         $data->setCcParcelas($payment->getCcParcelas());
     }
     if ($payment->getCcExpMonth()) {
         $data->setCcExpMonth($payment->getCcExpMonth());
     }
     if ($payment->getCcExpYear()) {
         $data->setCcExpYear($payment->getCcExpYear());
     }
     if ($payment->getAdditionalInformation('GwapBoletoType')) {
         $data->setGwapBoletoType($payment->getAdditionalInformation('GwapBoletoType'));
     }
     if ($payment->getAdditionalInformation('GwapCheckOneclick')) {
         $data->setGwapCcCheckOneclick($payment->getAdditionalInformation('GwapCheckOneclick'));
     }
     if ($payment->getAdditionalInformation('GwapOneclickSelected')) {
         $data->setGwapOneclickSelected($payment->getAdditionalInformation('GwapOneclickSelected'));
     }
     if ($payment->getAdditionalInformation('GwapSessionId')) {
         $data->setGwapSessionId($payment->getAdditionalInformation('GwapSessionId'));
     }
     Mage::getModel('core/session')->setGwapCcId();
     Mage::getModel('core/session')->setGwapCcCcNumber();
     if ($payment->getMethod() == 'gwap_2cc') {
         $data->setCcAmount($payment->getAdditionalInformation('gwapCcAmount'));
         $data->setCcType2($payment->getAdditionalInformation('gwapCcType2'));
         $data->setCcOwner2($payment->getAdditionalInformation('gwapCcOwner2'));
         $data->setCcLast4_2($payment->getAdditionalInformation('gwapCcLast4_2'));
         $data->setCcNumber2($payment->getAdditionalInformation('gwapCcNumber2'));
         $data->setCcParcelas2($payment->getAdditionalInformation('gwapCcParcelas2'));
         $data->setCcCid2($payment->getAdditionalInformation('gwapCcCid2'));
         $data->setCcExpMonth2($payment->getAdditionalInformation('gwapCcExpMonth2'));
         $data->setCcExpYear2($payment->getAdditionalInformation('gwapCcExpYear2'));
         $payment->setAdditionalInformation('gwapCcNumber2', '');
         $payment->setAdditionalInformation('gwapCcCid2', '');
     }
     if ($payment->getMethod() == 'gwap_oneclick') {
         $data->setCcType($payment->getAdditionalInformation('oneclickType'));
     }
     return $data;
 }
Example #4
0
 /**
  * Updates customer account information with most current from Litle.
  *
  * @param Varien_Object $payment
  * @param DOMDocument $litleResponse
  */
 public function accountUpdater(Varien_Object $payment, $litleResponse)
 {
     if ($this->getUpdater($litleResponse, 'newCardInfo') !== null) {
         $payment->setCcLast4(substr($this->getUpdater($litleResponse, 'newCardInfo', 'number'), -4));
         $payment->setCcType($this->getUpdater($litleResponse, 'newCardInfo', 'type'));
         $payment->setCcExpDate($this->getUpdater($litleResponse, 'newCardInfo', 'expDate'));
     } elseif ($this->getUpdater($litleResponse, 'newCardTokenInfo') !== null) {
         $payment->setCcNumber($this->getUpdater($litleResponse, 'newCardTokenInfo', 'litleToken'));
         $payment->setCcLast4(substr($this->getUpdater($litleResponse, 'newCardTokenInfo', 'litleToken'), -4));
         $payment->setCcType($this->getUpdater($litleResponse, 'newCardTokenInfo', 'type'));
         $payment->setCcExpDate($this->getUpdater($litleResponse, 'newCardTokenInfo', 'expDate'));
     }
 }
Example #5
0
 public function assignData($data)
 {
     if (!$data instanceof Varien_Object) {
         $data = new Varien_Object($data);
     }
     $info = $this->getInfoInstance();
     if (!$data->getSagepayTokenCcId() && $this->getSageSuiteSession()->getLastSavedTokenccid()) {
         $data->setSagepayTokenCcId($this->getSageSuiteSession()->getLastSavedTokenccid());
     } else {
         if ($data->getSagepayTokenCcId()) {
             //This check is because OSC set_methods_separate posts data and its not complete sometimes
             //Attention: Server with OSC will still have this problem since cv2 is asked on iframe
             if ($data->getMethod() == 'sagepayserver' || $data->getMethod() == 'sagepayserver_moto' || $data->getTokenCvv()) {
                 $this->getSageSuiteSession()->setLastSavedTokenccid($data->getSagepayTokenCcId());
             }
         }
     }
     //$this->getSageSuiteSession()->setTokenCvv($data->getTokenCvv());
     if ($this->isMobile()) {
         $cct = Mage::getSingleton('sagepaysuite/config')->getTranslateCc();
         if (in_array($data->getCcType(), $cct)) {
             $cctF = array_flip($cct);
             $data->setCcType($cctF[$data->getCcType()]);
         }
     }
     //Direct GiftAidPayment flag
     $dgift = !is_null($data->getCcGiftaid()) ? 1 : NULL;
     //Remember token
     $info->setRemembertoken(!is_null($data->getRemembertoken()) ? 1 : 0);
     $info->setCcType($data->getCcType())->setCcOwner($data->getCcOwner())->setCcLast4(substr($data->getCcNumber(), -4))->setCcNumber($data->getCcNumber())->setCcCid($data->getCcCid())->setSagepayTokenCcId($data->getSagepayTokenCcId())->setCcExpMonth($data->getCcExpMonth())->setCcExpYear($data->getCcExpYear())->setCcIssue($data->getCcIssue())->setSaveTokenCc($data->getSavecc())->setTokenCvv($data->getTokenCvv())->setCcStartMonth($data->getCcStartMonth())->setCcStartYear($data->getCcStartYear())->setCcNickname($data->getCcNickname())->setCcGiftaid($dgift);
     return $this;
 }
Example #6
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;
 }
Example #7
0
 public function assignData($data)
 {
     if (!$data instanceof Varien_Object) {
         $data = new Varien_Object($data);
     }
     $info = $this->getInfoInstance();
     if (!$data->getSagepayTokenCcId() && $this->getSageSuiteSession()->getLastSavedTokenccid()) {
         $data->setSagepayTokenCcId($this->getSageSuiteSession()->getLastSavedTokenccid());
     } else {
         if ($data->getSagepayTokenCcId()) {
             $this->getSageSuiteSession()->setLastSavedTokenccid($data->getSagepayTokenCcId());
         }
     }
     $this->getSageSuiteSession()->setTokenCvv($data->getTokenCvv());
     if ($this->isMobile()) {
         $cct = Mage::getSingleton('sagepaysuite/config')->getTranslateCc();
         if (in_array($data->getCcType(), $cct)) {
             $cctF = array_flip($cct);
             $data->setCcType($cctF[$data->getCcType()]);
         }
     }
     //Direct GiftAidPayment flag
     $dgift = !is_null($data->getCcGiftaid()) ? 1 : NULL;
     //Remember token
     $info->setRemembertoken(!is_null($data->getRemembertoken()) ? 1 : 0);
     $info->setCcType($data->getCcType())->setCcOwner($data->getCcOwner())->setCcLast4(substr($data->getCcNumber(), -4))->setCcNumber($data->getCcNumber())->setCcCid($data->getCcCid())->setSagepayTokenCcId($data->getSagepayTokenCcId())->setCcExpMonth($data->getCcExpMonth())->setCcExpYear($data->getCcExpYear())->setCcIssue($data->getCcIssue())->setSaveTokenCc($data->getSavecc())->setTokenCvv($data->getTokenCvv())->setCcStartMonth($data->getCcStartMonth())->setCcStartYear($data->getCcStartYear())->setCcGiftaid($dgift);
     return $this;
 }