diff --git a/app/code/Magento/Fedex/Model/Carrier.php b/app/code/Magento/Fedex/Model/Carrier.php index 48ce240022f23..3fd7c3659e2de 100644 --- a/app/code/Magento/Fedex/Model/Carrier.php +++ b/app/code/Magento/Fedex/Model/Carrier.php @@ -20,6 +20,8 @@ use Magento\Shipping\Model\Carrier\AbstractCarrier; use Magento\Shipping\Model\Carrier\AbstractCarrierOnline; use Magento\Shipping\Model\Rate\Result; +use Magento\Shipping\Model\Shipment\Request; +use Magento\Shipping\Model\Shipment\ReturnShipment; /** * Fedex shipping implementation @@ -1164,7 +1166,7 @@ public function getAllowedMethods() /** * Form array with appropriate structure for shipment request * - * @param \Magento\Framework\DataObject $request + * @param Request|ReturnShipment $request * @return array * @SuppressWarnings(PHPMD.CyclomaticComplexity) * @SuppressWarnings(PHPMD.NPathComplexity) @@ -1221,6 +1223,15 @@ protected function _formShipmentRequest(\Magento\Framework\DataObject $request) $optionType = $request->getShippingMethod() == self::RATE_REQUEST_SMARTPOST ? 'SERVICE_DEFAULT' : $packageParams->getDeliveryConfirmation(); + $shipperStreetLines = [$request->getShipperAddressStreet1()]; + if ($request->getShipperAddressStreet2()) { + $shipperStreetLines[] = $request->getShipperAddressStreet2(); + } + + $recipientStreetLines = [$request->getRecipientAddressStreet1()]; + if ($request->getRecipientAddressStreet2()) { + $recipientStreetLines[] = $request->getRecipientAddressStreet2(); + } $requestClient = [ 'requestedShipment' => [ 'shipDatestamp' => date('Y-m-d'), @@ -1234,7 +1245,7 @@ protected function _formShipmentRequest(\Magento\Framework\DataObject $request) 'phoneNumber' => $request->getShipperContactPhoneNumber(), ], 'address' => [ - 'streetLines' => [$request->getShipperAddressStreet()], + 'streetLines' => $shipperStreetLines, 'city' => $request->getShipperAddressCity(), 'stateOrProvinceCode' => $request->getShipperAddressStateOrProvinceCode(), 'postalCode' => $request->getShipperAddressPostalCode(), @@ -1249,7 +1260,7 @@ protected function _formShipmentRequest(\Magento\Framework\DataObject $request) 'phoneNumber' => $request->getRecipientContactPhoneNumber() ], 'address' => [ - 'streetLines' => [$request->getRecipientAddressStreet()], + 'streetLines' => $recipientStreetLines, 'city' => $request->getRecipientAddressCity(), 'stateOrProvinceCode' => $request->getRecipientAddressStateOrProvinceCode(), 'postalCode' => $request->getRecipientAddressPostalCode(),