From 365aecedddf21a893b3133228fd37127244a4124 Mon Sep 17 00:00:00 2001 From: Fabrizio Balliano Date: Thu, 20 Jun 2024 17:13:15 +0100 Subject: [PATCH] UPS Rest API: handling cases where a single service is returned by UPS (#4044) --- app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php index 6088cf673dd..fab47beb4f1 100644 --- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php +++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php @@ -2341,6 +2341,10 @@ protected function _parseRestResponse(string $rateResponse) $rateResponseData = json_decode($rateResponse, true); if (@$rateResponseData['RateResponse']['Response']['ResponseStatus']['Description'] === 'Success') { $arr = $rateResponseData['RateResponse']['RatedShipment'] ?? []; + if (isset($arr['Service'])) { + // Handling cases where a single service is returned by UPS + $arr = [$arr]; + } $allowedMethods = explode(",", $this->getConfigData('allowed_methods') ?? ''); $allowedCurrencies = Mage::getModel('directory/currency')->getConfigAllowCurrencies(); foreach ($arr as $shipElement) {