45 $customerCountryCode = $quoteAddress->getCountryId();
46 $customerVatNumber = $quoteAddress->getVatId();
48 $merchantCountryCode = $this->customerVat->getMerchantCountryCode();
49 $merchantVatNumber = $this->customerVat->getMerchantVatNumber();
51 $validationResult =
null;
52 if ($this->customerAddress->hasValidateOnEachTransaction(
55 $customerCountryCode != $quoteAddress->getValidatedCountryCode() ||
56 $customerVatNumber != $quoteAddress->getValidatedVatNumber()
59 $validationResult = $this->customerVat->checkVatNumber(
62 $merchantVatNumber !==
'' ? $merchantCountryCode :
'',
67 $quoteAddress->setVatIsValid((
int)$validationResult->getIsValid());
68 $quoteAddress->setVatRequestId($validationResult->getRequestIdentifier());
69 $quoteAddress->setVatRequestDate($validationResult->getRequestDate());
70 $quoteAddress->setVatRequestSuccess($validationResult->getRequestSuccess());
71 $quoteAddress->setValidatedVatNumber($customerVatNumber);
72 $quoteAddress->setValidatedCountryCode($customerCountryCode);
73 $quoteAddress->save();
76 $validationResult = new \Magento\Framework\DataObject(
78 'is_valid' => (
int)$quoteAddress->getVatIsValid(),
79 'request_identifier' => (string)$quoteAddress->getVatRequestId(),
80 'request_date' => (string)$quoteAddress->getVatRequestDate(),
81 'request_success' => (bool)$quoteAddress->getVatRequestSuccess(),
86 return $validationResult;