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; }
public function getNewTokenCardArray(Varien_Object $payment) { $data = array(); $data['CardHolder'] = $payment->getCcOwner(); $data['CardNumber'] = $payment->getCcNumber(); $data['CardType'] = $payment->getCcType(); $data['Currency'] = $payment->getOrder()->getOrderCurrencyCode(); $data['CV2'] = $payment->getCcCid(); $data['Nickname'] = $payment->getCcNickname(); $data['Protocol'] = 'direct'; #For persistant storing $data['ExpiryDate'] = str_pad($payment->getCcExpMonth(), 2, '0', STR_PAD_LEFT) . substr($payment->getCcExpYear(), 2); if ($payment->getCcSsStartMonth() && $payment->getCcSsStartYear()) { $data['StartDate'] = str_pad($payment->getCcSsStartMonth(), 2, '0', STR_PAD_LEFT) . substr($payment->getCcSsStartYear(), 2); } return $data; }