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 4162b953f96..f889f1bc84b 100644
--- a/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php
+++ b/app/code/core/Mage/Usa/Model/Shipping/Carrier/Ups.php
@@ -245,17 +245,13 @@ public function setRequest(Mage_Shipping_Model_Rate_Request $request)
}
$r->setDestCountry(Mage::getModel('directory/country')->load($destCountry)->getIso2Code());
-
$r->setDestRegionCode($request->getDestRegionCode());
-
if ($request->getDestPostcode()) {
$r->setDestPostal($request->getDestPostcode());
}
$weight = $this->getTotalNumOfBoxes($request->getPackageWeight());
-
$weight = $this->_getCorrectWeight($weight);
-
$r->setWeight($weight);
if ($request->getFreeMethodWeight() != $request->getPackageWeight()) {
$r->setFreeMethodWeight($request->getFreeMethodWeight());
@@ -270,11 +266,15 @@ public function setRequest(Mage_Shipping_Model_Rate_Request $request)
$unit = $this->getConfigData('unit_of_measure');
}
$r->setUnitMeasure($unit);
-
+ if ($r->getUnitMeasure() == 'LBS') {
+ $r->setUnitDimensions('IN');
+ $r->setUnitDimensionsDescription('Inches');
+ } else {
+ $r->setUnitDimensions('CM');
+ $r->setUnitDimensionsDescription('Centimeters');
+ }
$r->setIsReturn($request->getIsReturn());
-
$r->setBaseSubtotalInclTax($request->getBaseSubtotalInclTax());
-
$this->_rawRequest = $r;
return $this;
@@ -755,8 +755,8 @@ protected function _getXmlQuotes()
$xmlRequest .= (
$params['49_residential'] === '01'
- ? "{$params['49_residential']}"
- : ''
+ ? "{$params['49_residential']}"
+ : ''
);
$xmlRequest .= <<< XMLRequest
@@ -1150,11 +1150,15 @@ protected function _getRestTracking($trackings)
$version = "v1";
$query = http_build_query([
'locale' => 'en_US',
- 'returnSignature' => 'false'
+ 'returnSignature' => 'false',
+ 'returnMilestones' => 'false',
+ 'returnPOD' => 'false'
]);
$headers = [
"Authorization: Bearer $accessToken",
- 'Content-Type: application/json'
+ 'Content-Type: application/json',
+ 'transId: track' . uniqid(),
+ 'transactionSrc: OpenMage'
];
$ch = curl_init();
@@ -1201,7 +1205,7 @@ protected function _parseRestTrackingResponse($trackingValue, $jsonResponse)
if ($jsonResponse) {
$responseData = json_decode($jsonResponse, true);
- if ($responseData['trackResponse']['shipment']) {
+ if (isset($responseData['trackResponse']['shipment'])) {
$activityTags = $responseData['trackResponse']['shipment'][0]['package'][0]['activity'] ?? [];
if ($activityTags) {
$index = 1;
@@ -1218,34 +1222,28 @@ protected function _parseRestTrackingResponse($trackingValue, $jsonResponse)
}
$dateArr = [];
$date = (string)$activityTag['date'];
- //YYYYMMDD
$dateArr[] = substr($date, 0, 4);
$dateArr[] = substr($date, 4, 2);
$dateArr[] = substr($date, -2, 2);
$timeArr = [];
$time = (string)$activityTag['time'];
- //HHMMSS
$timeArr[] = substr($time, 0, 2);
$timeArr[] = substr($time, 2, 2);
$timeArr[] = substr($time, -2, 2);
if ($index === 1) {
$resultArr['status'] = (string)$activityTag['status']['description'];
- $resultArr['deliverydate'] = implode('-', $dateArr);
- //YYYY-MM-DD
- $resultArr['deliverytime'] = implode(':', $timeArr);
- //HH:MM:SS
+ $resultArr['deliverydate'] = implode('-', $dateArr); //YYYY-MM-DD
+ $resultArr['deliverytime'] = implode(':', $timeArr); //HH:MM:SS
if ($addressArr) {
$resultArr['deliveryto'] = implode(', ', $addressArr);
}
} else {
$tempArr = [];
$tempArr['activity'] = (string)$activityTag['status']['description'];
- $tempArr['deliverydate'] = implode('-', $dateArr);
- //YYYY-MM-DD
- $tempArr['deliverytime'] = implode(':', $timeArr);
- //HH:MM:SS
+ $tempArr['deliverydate'] = implode('-', $dateArr); //YYYY-MM-DD
+ $tempArr['deliverytime'] = implode(':', $timeArr); //HH:MM:SS
if ($addressArr) {
$tempArr['deliverylocation'] = implode(', ', $addressArr);
}
@@ -1255,8 +1253,8 @@ protected function _parseRestTrackingResponse($trackingValue, $jsonResponse)
}
$resultArr['progressdetail'] = $packageProgress;
}
- } else {
- $errorTitle = $responseData['errors']['message'];
+ } elseif (isset($responseData['response']['errors'][0]['message'])) {
+ $errorTitle = $responseData['response']['errors'][0]['message'];
}
}
@@ -1490,9 +1488,9 @@ protected function _formShipmentRequest(Varien_Object $request)
$referenceData = $request->getReferenceData() . $request->getPackageId();
} else {
$referenceData = 'Order #'
- . $request->getOrderShipment()->getOrder()->getIncrementId()
- . ' P'
- . $request->getPackageId();
+ . $request->getOrderShipment()->getOrder()->getIncrementId()
+ . ' P'
+ . $request->getPackageId();
}
$referencePart = $packagePart->addChild('ReferenceNumber');
$referencePart->addChild('Code', '02');
@@ -1537,9 +1535,9 @@ protected function _formShipmentRequest(Varien_Object $request)
$labelPart = $xmlRequest->addChild('LabelSpecification');
$labelPart->addChild('LabelPrintMethod')
- ->addChild('Code', 'GIF');
+ ->addChild('Code', 'GIF');
$labelPart->addChild('LabelImageFormat')
- ->addChild('Code', 'GIF');
+ ->addChild('Code', 'GIF');
$this->setXMLAccessRequest();
$xmlRequest = $this->_xmlAccessRequest . $xmlRequest->asXML();
@@ -2045,12 +2043,9 @@ public function getContainerTypes(Varien_Object $params = null)
$countryShipper = $params->getCountryShipper();
$countryRecipient = $params->getCountryRecipient();
- if (($countryShipper == self::USA_COUNTRY_ID
- && $countryRecipient == self::CANADA_COUNTRY_ID)
- || ($countryShipper == self::CANADA_COUNTRY_ID
- && $countryRecipient == self::USA_COUNTRY_ID)
- || ($countryShipper == self::MEXICO_COUNTRY_ID
- && $countryRecipient == self::USA_COUNTRY_ID)
+ if (($countryShipper == self::USA_COUNTRY_ID && $countryRecipient == self::CANADA_COUNTRY_ID)
+ || ($countryShipper == self::CANADA_COUNTRY_ID && $countryRecipient == self::USA_COUNTRY_ID)
+ || ($countryShipper == self::MEXICO_COUNTRY_ID && $countryRecipient == self::USA_COUNTRY_ID)
&& $method == '11' // UPS Standard
) {
$containerTypes = [];
@@ -2072,14 +2067,14 @@ public function getContainerTypes(Varien_Object $params = null)
'2a' => Mage::helper('usa')->__('Small Express Box'),
'2b' => Mage::helper('usa')->__('Medium Express Box'),
'2c' => Mage::helper('usa')->__('Large Express Box'),
- ];
+ ];
}
return ['00' => Mage::helper('usa')->__('Customer Packaging')] + $containerTypes;
} elseif ($countryShipper == self::USA_COUNTRY_ID && $countryRecipient == self::PUERTORICO_COUNTRY_ID
&& (
$method == '03' // UPS Ground
- || $method == '02' // UPS Second Day Air
- || $method == '01' // UPS Next Day Air
+ || $method == '02' // UPS Second Day Air
+ || $method == '01' // UPS Next Day Air
)
) {
// Container types should be the same as for domestic
@@ -2290,8 +2285,8 @@ protected function _getRestQuotes()
],
"Dimensions" => [
"UnitOfMeasurement" => [
- "Code" => "IN",
- "Description" => "Inches"
+ "Code" => $rowRequest->getUnitDimensions(),
+ "Description" => $rowRequest->getUnitDimensionsDescription()
],
"Length" => "5",
"Width" => "5",
@@ -2475,7 +2470,7 @@ private function processShippingRestRateForItem(
if (in_array($responseCurrencyCode, $allowedCurrencies)) {
$cost = (float)$cost * $this->_getBaseCurrencyRate($responseCurrencyCode);
} else {
- $errorTitle = __(
+ $errorTitle = Mage::helper('usa')->__(
'We can\'t convert a rate from "%1-%2".',
$responseCurrencyCode,
$this->_request->getPackageCurrency()->getCode()
diff --git a/app/code/core/Mage/Usa/etc/config.xml b/app/code/core/Mage/Usa/etc/config.xml
index 6855b6910cb..eec95e2b558 100644
--- a/app/code/core/Mage/Usa/etc/config.xml
+++ b/app/code/core/Mage/Usa/etc/config.xml
@@ -155,11 +155,11 @@
RES
GND
https://onlinetools.ups.com/ups.app/xml/Rate
- https://wwwcie.ups.com/api/rating/
+ https://onlinetools.ups.com/api/rating/
https://onlinetools.ups.com/ups.app/xml/Track
- https://wwwcie.ups.com/api/track/
+ https://onlinetools.ups.com/api/track/
https://onlinetools.ups.com/ups.app/xml/ShipConfirm
- https://wwwcie.ups.com/api/shipments/v2403/ship
+ https://onlinetools.ups.com/api/shipments/v2403/ship
https://onlinetools.ups.com/ups.app/xml/ShipAccept
0
0
diff --git a/app/code/core/Mage/Usa/etc/system.xml b/app/code/core/Mage/Usa/etc/system.xml
index 0b6a75d3b0b..8e39f3a70e9 100644
--- a/app/code/core/Mage/Usa/etc/system.xml
+++ b/app/code/core/Mage/Usa/etc/system.xml
@@ -832,7 +832,7 @@
- - Register to https://developer.ups.com
- Go to My Apps -> Add Apps and fill all data
- Add Rating/Authorization/Shipping/TimeInTransit products to the app]]>
+ - Register to https://developer.ups.com
- Go to My Apps -> Add Apps and fill all data
- Add Rating, Authorization, Shipping, TimeInTransit, Tracking products to the app]]>
obscure
adminhtml/system_config_backend_encrypted
35