diff --git a/src/EventSubscriber.php b/src/EventSubscriber.php index 4d532cc..96e3d05 100644 --- a/src/EventSubscriber.php +++ b/src/EventSubscriber.php @@ -60,8 +60,26 @@ class EventSubscriber implements EventSubscriberInterface, ContainerInjectionInt $event->paymentRequest->shippingCost = $this->getShippingCost($order); + $shipping_method_plugin_id = $order->shipments->entity->shipping_method->entity->getPlugin()->getPluginId(); + $billingProfile = $order->getBillingProfile(); + + if (!$billingProfile->hasField('address')) { + return []; + } + + $address = $billingProfile->get('address'); + if ($address->isEmpty()) { + return []; + } + + $billingAddressData = Utils::transformAddressField($address->first()->getValue()); + + if ($billingAddressData) { + $event->paymentRequest->delivery = Address::__set_state($billingAddressData); + } + $shippingAddressData = $this->getShippingAddressData($order); - if ($shippingAddressData) { + if ($shippingAddressData && $shipping_method_plugin_id == 'flat_rate') { $event->paymentRequest->delivery = Address::__set_state($shippingAddressData); }