/** * Converts a specified rate model to a shipping method data object. * * @param string $quoteCurrencyCode The quote currency code. * @param \Magento\Quote\Model\Quote\Address\Rate $rateModel The rate model. * @return mixed Shipping method data object. */ public function modelToDataObject($rateModel, $quoteCurrencyCode) { /** @var \Magento\Directory\Model\Currency $currency */ $currency = $this->storeManager->getStore()->getBaseCurrency(); $errorMessage = $rateModel->getErrorMessage(); return $this->shippingMethodDataFactory->create()->setCarrierCode($rateModel->getCarrier())->setMethodCode($rateModel->getMethod())->setCarrierTitle($rateModel->getCarrierTitle())->setMethodTitle($rateModel->getMethodTitle())->setAmount($currency->convert($rateModel->getPrice(), $quoteCurrencyCode))->setBaseAmount($rateModel->getPrice())->setAvailable(empty($errorMessage)); }