Products     Magento Extension     PCI-Shopping-Carts     Templates       CRELoaded     WordPress Modules     osCommerce Modules       osCommerce Addons       osCommerce Features       osCommerce Management       Payment Modules     CRELoaded Modules       CRE Loaded Addons       CRE Loaded Features       CRE Loaded Management       Payment Modules       CRELoaded Services
Free Stuff
Customization
Templates
Compare Products
You have no items to compare.
Affiliate Info
Affiliate Program FAQ
Affiliate Log In
Recent Orders
Hot Keywords: Order Notification, Order Search, Coupon, Flash Board, Compare, Floating Message, Tracking, Moneris, RSS, Visitor Filter

  UPS XML Rates and Services v1.0

The following osCommerce contribution is a free Opensource code originated from official osCommerce website and provided for your reference only, you may download the original contribution file(s) and install it on your own; or you may request a Paid Installation Service from Agents Of Power; Agents Of Power does the "AS IS" installation on your website, we do not guarantee it will work properly on your website. Extra Paid service is available for repairing the problem from the original contribution or from your website.
Fixed a bug where UPSXML was changing the value of $shipping_num_boxes provided by osCommerce without ever using the changed value. This was causing problems with the USPS shipping module.

In testing the packaging with an order for a large number of "ready to ship" products I discovered that the UPS rates tool cannot process a shipment with more than 50 boxes. While it isn't likely that anyone will actually place an order that will be divided into more than 50 boxes we still don't want an error message returned if such an order does get placed. I therefore added code to the _upsGetQuote routine to split such orders into groups of 50 boxes in order to retrieve all of the quotes and then more code in the parseResult routine to combine the multiple shipment quotes into a single set of rate quotes so that service types aren't listed more than once.

Added code to display the billed weight for each service (the dimensional weight) if weights are being displayed.

Note: The only changes were made to the two upsxml.php files. If you already have version 1.3.6 installed you can simply replace those two files and be done since no configuration variables were changed from version 1.3.6.
Small bug fixes for example using exec with curl no longer gave shipping quotes because of a small change in the UPS API for Rates. When a line break was added after <?xml version="1.0"?> in the Rates reply suddenly the array that curl using exec returns contained in array[0] the <?xml version="1.0"?> and in array[1] the rest of the message.
See changes.txt for more details.
In upsxml.php, find (line 345) :

if ( ($this->manual_negotiated_rate > 0) && ($this->use_negotiated_rates != 'True') ) {
$cost = ($this->manual_negotiated_rate * $cost)/100;
}

and change 'True' to 'False' so it look like :

if ( ($this->manual_negotiated_rate > 0) && ($this->use_negotiated_rates != 'False') ) {
$cost = ($this->manual_negotiated_rate * $cost)/100;
}


Also, for some reason I was getting a rate from Canada to US without any name but with a quote. After this line :

// changed to make handling percentage based
if ($this->handling_type == "Percentage") {

you find 2 lines starting with $methods[] = array('id' .....

simply add at the beginning of those 2 lines (350 & 352) : if ($_type) so it look like :

// changed to make handling percentage based
if ($this->handling_type == "Percentage") {
if ($_type) $methods[] = array('id' => $type, 'title' => $_type, 'cost' => ((($this->handling_fee * $cost)/100) + $cost));
} else {
if ($_type) $methods[] = array('id' => $type, 'title' => $_type, 'cost' => ($this->handling_fee + $cost));
}

Full 1.3.5 package with bug fixed

Marc
   Posted on: 01/03/2009     See contribution details Request Installation with Paid service