/** * 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']); }
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; }
/** * 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')); } }
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; }
/** * 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; }
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; }