/** * Convert address data object to quote address model * * @param \Magento\Checkout\Service\V1\Data\Cart\Address $dataObject * @param \Magento\Sales\Model\Quote\Address $address * @return \Magento\Sales\Model\Quote\Address */ public function convertDataObjectToModel($dataObject, $address) { $address->setData($dataObject->__toArray()); //set custom attributes $customAttributes = $dataObject->getCustomAttributes(); /** @var \Magento\Framework\Service\Data\AttributeValue $attributeData */ foreach ($customAttributes as $attributeData) { $address->setData($attributeData->getAttributeCode(), $attributeData->getValue()); } //set fields with custom logic $address->setStreet($dataObject->getStreet()); $address->setRegionId($dataObject->getRegion()->getRegionId()); $address->setRegion($dataObject->getRegion()->getRegion()); return $address; }