/** * @param Payone_Core_Model_Config $config * @return Payone_Settings_Data_ConfigFile_Abstract|Payone_Settings_Data_ConfigFile_Shop_Protect */ protected function generateSettingsProtect(Payone_Core_Model_Config $config) { /** @var $protectConfig Payone_Settings_Data_ConfigFile_Shop_Protect */ $protectConfig = $this->getSettingsClass('shop_protect'); $protect = $config->getProtect(); $creditrating = $protect->getCreditrating(); /** @var $consumerScore Payone_Settings_Data_ConfigFile_Protect_Consumerscore */ $consumerScore = $this->generateSettingsBySection('protect_consumerscore', $creditrating); $yellow = $this->getAllowedPaymentMethods('yellow', $creditrating); $consumerScore->setYellow($yellow); $red = $this->getAllowedPaymentMethods('red', $creditrating); $consumerScore->setRed($red); $consumerScore->setDuetime($creditrating->getResultLifetimeInSeconds()); /** @var $addressCheck Payone_Settings_Data_ConfigFile_Protect_Addresscheck */ $addressCheck = $this->generateSettingsBySection('protect_addresscheck', $protect->getAddressCheck()); $personStatusmapping = $protect->getAddressCheck()->getMappingPersonstatus(); if (!is_array($personStatusmapping)) { $personStatusmapping = array(); } $addressCheck->setPersonstatusmapping($personStatusmapping); $protectConfig->setConsumerscore($consumerScore); $protectConfig->setAddresscheck($addressCheck); return $protectConfig; }