/** * * @param array $paymentMethod * @param string $checkCvC * @return \Payone_Settings_Data_ConfigFile_PaymentMethod_Abstract */ protected function createPaymentExportObject(array $paymentMethod, $checkCvC) { $paymentHelper = $this->moptPayone__paymentHelper; $paymentName = $paymentMethod['name']; $config = $this->moptPayone__main->getPayoneConfig($paymentMethod['id']); if ($paymentHelper->isPayoneCreditcard($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_Creditcard(); $paymentDto->setCvc2($checkCvC); } if ($paymentHelper->isPayonePayInAdvance($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_AdvancePayment(); } if ($paymentHelper->isPayoneCashOnDelivery($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_CashOnDelivery(); $paymentDto->setNewOrderStatus(0); // 0 = open } if ($paymentHelper->isPayoneDebitnote($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_DebitPayment(); $paymentDto->setNewOrderStatus(0); // 0 = open $paymentDto->setBankAccountCheck($config['checkAccount']); } if ($paymentHelper->isPayoneFinance($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_Financing(); $paymentDto->setFinancingType($this->getFinancingType($paymentHelper, $paymentName)); if ($paymentHelper->isPayoneKlarna($paymentName)) { $paymentDto->setKlarnaConfig(array('klarnaStoreId' => $config['klarnaStoreId'], 'klarnaCampaignCode' => $config['klarnaCampaignCode'])); } } if ($paymentHelper->isPayoneInvoice($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_Invoice(); $paymentDto->setNewOrderStatus(0); // 0 = open } if ($paymentHelper->isPayoneInstantBankTransfer($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_OnlineBankTransfer(); } if ($paymentHelper->isEWallet($paymentName)) { $paymentDto = new Payone_Settings_Data_ConfigFile_PaymentMethod_Wallet(); } $paymentDto->setKey($paymentMethod['name']); $paymentDto->setTitle($paymentMethod['name']); $paymentDto->setId($paymentMethod['id']); $paymentDto->setMid($config['merchantId']); $paymentDto->setAid($config['subaccountId']); $paymentDto->setPortalid($config['portalId']); $paymentDto->addFeeConfig($paymentMethod['surcharge']); //min/max order values are configured via rulesets //$paymentDto->setMinOrderTotal($value); //$paymentDto->setMaxOrderTotal($value); //$paymentDto->setTypes($value); //@todo find out whats meant? $paymentDto->setActive($paymentMethod['active']); $paymentDto->setCountries($this->getCountriesFromPaymentMethod($paymentMethod['countries'])); $paymentDto->setMode($config['liveMode']); if ($config['authorisationMethod'] == 'preAuthorise' || $config['authorisationMethod'] == 'Vorautorisierung') { $paymentDto->setAuthorization(Payone_Api_Enum_RequestType::PREAUTHORIZATION); } else { $paymentDto->setAuthorization(Payone_Api_Enum_RequestType::AUTHORIZATION); } return $paymentDto; }