26 private $deferredShippingMethodChooserPool;
35 $this->deferredShippingMethodChooserPool = $deferredShippingMethodChooserPool;
70 private function getShippingMethodCodeToUse(
89 private function getCorrespondingShippingRateCode(
93 $address->setCollectShippingRates(
true);
95 $shippingRates =
$address->getAllShippingRates();
96 foreach ($shippingRates as $shippingRate) {
101 return $shippingRate->getCode();
104 throw new LocalizedException(
__(
'Specified shipping method is not available.'));
115 private function resolveDeferredShippingMethodChoose(
119 $deferredShippingMethodChooser = $this->deferredShippingMethodChooserPool->get(
123 $shippingMethodCode = $deferredShippingMethodChooser->choose(
$address);
124 if (empty($shippingMethodCode)) {
125 throw new LocalizedException(
__(
'Appropriate shipping method is not available.'));
128 return $shippingMethodCode;
configureShippingMethod(Quote $quote, ShippingMethodInterface $shippingMethod)
__construct(DeferredShippingMethodChooserPool $deferredShippingMethodChooserPool)