/**
  * 
  * @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;
 }
Exemple #2
0
 /**
  * @param DOMElement $clearingTypeNode
  * @param Payone_Settings_Data_ConfigFile_PaymentMethod_Financing $valueClearingType
  */
 public function addKlarnaConfig(DOMElement $clearingTypeNode, Payone_Settings_Data_ConfigFile_PaymentMethod_Financing $valueClearingType)
 {
     $klarnaConfig = $valueClearingType->getKlarnaConfig();
     if (!empty($klarnaConfig)) {
         $klarnaConfigNode = $this->appendElement($clearingTypeNode, 'klarna_config');
         foreach ($klarnaConfig as $valueKlarnaConfig) {
             if (array_key_exists('value', $valueKlarnaConfig) && array_key_exists('attribute', $valueKlarnaConfig)) {
                 $klarnaNode = $this->appendElement($klarnaConfigNode, 'klarna_store_id', $valueKlarnaConfig['value']);
                 foreach ($valueKlarnaConfig['attribute'] as $keyKlarna => $valueKlarna) {
                     $klarnaNode->setAttribute($keyKlarna, $valueKlarna);
                 }
             }
         }
     }
 }