/**
  * @inheritdoc
  */
 public function build(array $buildSubject)
 {
     $result = [];
     if (!$this->config->hasFraudProtection()) {
         return $result;
     }
     $paymentDO = $this->subjectReader->readPayment($buildSubject);
     $payment = $paymentDO->getPayment();
     $data = $payment->getAdditionalInformation();
     if (isset($data[DataAssignObserver::DEVICE_DATA])) {
         $result[self::DEVICE_DATA] = $data[DataAssignObserver::DEVICE_DATA];
     }
     return $result;
 }
 /**
  * Retrieve assoc array of checkout configuration
  *
  * @return array
  */
 public function getConfig()
 {
     return ['payment' => [self::CODE => ['clientToken' => $this->getClientToken(), 'ccTypesMapper' => $this->config->getCctypesMapper(), 'sdkUrl' => $this->config->getSdkUrl(), 'countrySpecificCardTypes' => $this->config->getCountrySpecificCardTypeConfig(), 'availableCardTypes' => $this->config->getAvailableCardTypes(), 'useCvv' => $this->config->isCvvEnabled(), 'environment' => $this->config->getEnvironment(), 'kountMerchantId' => $this->config->getKountMerchantId(), 'hasFraudProtection' => $this->config->hasFraudProtection(), 'merchantId' => $this->config->getMerchantId()], Config::CODE_3DSECURE => ['enabled' => $this->config->isVerify3DSecure(), 'thresholdAmount' => $this->config->getThresholdAmount(), 'specificCountries' => $this->config->get3DSecureSpecificCountries()]]];
 }
 /**
  * Retrieve assoc array of checkout configuration
  *
  * @return array
  */
 public function getConfig()
 {
     $isPayPalActive = $this->payPalConfig->isActive();
     return ['payment' => [self::CODE => ['isActive' => $this->config->isActive(), 'isSingleUse' => !$isPayPalActive, 'clientToken' => $this->getClientToken(), 'ccTypesMapper' => $this->config->getCctypesMapper(), 'sdkUrl' => $this->config->getSdkUrl(), 'countrySpecificCardTypes' => $this->config->getCountrySpecificCardTypeConfig(), 'availableCardTypes' => $this->config->getAvailableCardTypes(), 'useCvv' => $this->config->isCvvEnabled(), 'environment' => $this->config->getEnvironment(), 'kountMerchantId' => $this->config->getKountMerchantId(), 'hasFraudProtection' => $this->config->hasFraudProtection(), 'merchantId' => $this->config->getMerchantId()], Config::CODE_3DSECURE => ['enabled' => $this->config->isVerify3DSecure(), 'thresholdAmount' => $this->config->getThresholdAmount(), 'specificCountries' => $this->config->get3DSecureSpecificCountries()], self::PAYPAL_CODE => ['isActive' => $isPayPalActive, 'title' => $this->payPalConfig->getTitle(), 'isAllowShippingAddressOverride' => $this->payPalConfig->isAllowToEditShippingAddress(), 'merchantName' => $this->payPalConfig->getMerchantName(), 'locale' => strtolower($this->localeResolver->getLocale()), 'paymentAcceptanceMarkSrc' => 'https://www.paypalobjects.com/webstatic/en_US/i/buttons/pp-acceptance-medium.png']]];
 }