/** * @return bool|null|WirecardCEE_QMore_DataStorage_Response_Initiation */ public function initDatastorage() { $dataStorageInit = new WirecardCEE_QMore_DataStorageClient($this->getConfigArray()); $dataStorageInit->setReturnUrl(Mage::getUrl('wirecard_checkoutseamless/processing/storereturn', array('_secure' => true))); $dataStorageInit->setOrderIdent(Mage::getSingleton('checkout/session')->getQuote()->getId()); $response = null; if ($this->getConfigData('ccard/pci3_dss_saq_a_enable')) { $dataStorageInit->setJavascriptScriptVersion('pci3'); if (strlen(trim($this->getConfigData('ccard/iframe_css_url')))) { $dataStorageInit->setIframeCssUrl(trim($this->getConfigData('ccard/iframe_css_url'))); } $dataStorageInit->setCreditCardCardholderNameField($this->getConfigData('ccard/showcardholder')); $dataStorageInit->setCreditCardShowCvcField($this->getConfigData('ccard/showcvc')); $dataStorageInit->setCreditCardShowIssueDateField($this->getConfigData('ccard/showissuedate')); $dataStorageInit->setCreditCardShowIssueNumberField($this->getConfigData('ccard/showissuenumber')); } $this->log(__METHOD__ . ':' . print_r($dataStorageInit->getRequestData(), true), Zend_Log::INFO); try { $response = $dataStorageInit->initiate(); if ($response->getStatus() == WirecardCEE_QMore_DataStorage_Response_Initiation::STATE_SUCCESS) { Mage::getSingleton('checkout/session')->setWirecardCheckoutSeamlessStorageId($response->getStorageId()); $this->log(__METHOD__ . ':storageid:' . $response->getStorageId(), Zend_Log::DEBUG); return $response; } else { $dsErrors = $response->getErrors(); foreach ($dsErrors as $error) { $this->log(__METHOD__ . ':' . $error->getMessage()); } return false; } } catch (Exception $e) { //communication with dataStorage failed. we choose a none dataStorage fallback $this->log(__METHOD__ . ':' . $e->getMessage(), Zend_Log::ERR); return false; } }