Jump to content
Latest News: (loading..)
torinwalker

New UPS XML Shipping Module available

Recommended Posts

I had the same issue on a client's store. Apparently the newer versions of PHP don't set PHP_VERSION correctly even though the manual says it does. You could try testing (PHP_VERSION_ID > 50207) and see if that works. Or just take the old PHP 4.x code out, since nobody uses that anyway.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

hello support,

 

i am using oscommerce 2.3.4 gold, UPSXML_v1_5 add on.  we use ups exclusively.

 

this problem(over 150 lbs) has been discussed but i did not see a way to solve it--for our needs.

 

i saw people complaining they are getting an error over 150 lbs,

 

we do not receive an error it just breaks up into packages,, which is nice.\

 

ultimately, we would like to have it not break into packages.

 

When it reaches a single item weighing over 150, we would instruct our customers to call to our brick and mortar to get the shipping charges.

 

i installed an addon Request freight quote.

 

 

so my problem is how to stop it breaking it up into packages and turn off ups shipping options when it is over 150.

 

see attached for my admin>configuration> shipping/packaging.


 

post-279530-0-25091900-1493571315_thumb.jpg

Edited by zpupster

Share this post


Link to post
Share on other sites

Set your Maximum Package Weight to a very large number to stop osCommerce from breaking the shipment up into smaller packages. UPS should refuse to return  a shipping estimate for packages over 150 lbs, which would leave only your Freight module.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Thank You Jim,

 

this worked like a charm,

 

the request freight quote still appears for packages under the weight set.

 

is there a line i could add to stop the freight quote appearing for weights under weight set to turn off UPS.

 

Craig

Share this post


Link to post
Share on other sites

You would probably have to add code to the Freight module to do that. I'm not familiar with that module so I'm not certain. You might want to ask in the support thread for that module.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Jim,  my thinking is like this,  if i add the global  variable like this to class method in  the freight request module below:

global $order, $shipping_weight,

and put a statement in like this:

$shipping_weight = ($shipping_weight < 150 ? 150 : $shipping_weight);

and this is where i have trouble to turn off request freight module:

 

if ($check_flag == false) {
          $this->enabled = false;
        }

this is the request freight module that appears all the time, we would like it to appear only if the weight is over 150.

 

 

<?php
/*
  $Id: rfq.php,v 1.3 2006/02/13 14:29:56 naegle Exp $
  Based upon flat.php / spu.php by M. Halvorsen (http://www.arachnia-web.com)




  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com






  Copyright (c) 2003 osCommerce


  Released under the GNU General Public License
  
   CHANGES: NOV-20-05
   - formatted to work with latest checkout procedure
   - updated the db queries
   CHANGES: NOV-21-05
   - included icon
   - fixed table configuration
   CHANGES: FEB-13-06
    - Added Disable Zone
  
*/


  class rfq {
    var $code, $title, $description, $icon, $enabled;


// class constructor
    function rfq() {
 global $order;
      $this->code = 'rfq';
      $this->title = MODULE_SHIPPING_RFQ_TEXT_TITLE;
      $this->description = MODULE_SHIPPING_RFQ_TEXT_DESCRIPTION;
      $this->sort_order = MODULE_SHIPPING_RFQ_SORT_ORDER;
      $this->icon = DIR_WS_ICONS . 'shipping_rfq.gif';
      $this->enabled = ((MODULE_SHIPPING_RFQ_STATUS == 'True') ? true : false);
 if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_RFQ_ZONE > 0) ) {
        $check_flag = false;
        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id <> '" . MODULE_SHIPPING_RQF_ZONE . "' and zone_country_id <> '" . $order->delivery['country']['id'] . "' order by zone_id");
        while ($check = tep_db_fetch_array($check_query)) {
          if ($check['zone_id'] < 1) {
            $check_flag = true;
            break;
          } elseif ($check['zone_id'] == $order->delivery['zone_id']) {
            $check_flag = true;
            break;
          }
}


if ($check_flag == false) {
          $this->enabled = false;
        }
      }
    }


// class methods
  
    function quote($method = '') {
 global $order;


      $this->quotes = array('id' => $this->code,
                            'module' => MODULE_SHIPPING_RFQ_TEXT_TITLE,
                            'methods' => array(array('id' => $this->code,
                                                     'title' => MODULE_SHIPPING_RFQ_TEXT_WAY,
                                                     'cost' =>  MODULE_SHIPPING_RFQ_COST)));


      if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title);


      return $this->quotes;
    }


    function check() {
      if (!isset($this->_check)) {
        $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_RFQ_STATUS'");
        $this->_check = tep_db_num_rows($check_query);
      }
      return $this->_check;
    }


    function install() {
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Shipping Quotes', 'MODULE_SHIPPING_RFQ_STATUS', 'True', 'Do you want to offer shipping quotes?', '6', '6', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Quote Fee', 'MODULE_SHIPPING_RFQ_COST', '0.00', 'What is the Quote Fee?', '6', '6', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_RFQ_ZONE', '0', 'If a zone is selected, DISABLE this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
      tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_RFQ_SORT_ORDER', '6', 'Sort order of display.', '6', '6', now())");
    }


    function remove() {
      $keys = '';
      $keys_array = $this->keys();
      for ($i=0; $i<sizeof($keys_array); $i++) {
        $keys .= "'" . $keys_array[$i] . "',";
      }
      $keys = substr($keys, 0, -1);


      tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
    }


    function keys() {
      return array('MODULE_SHIPPING_RFQ_STATUS', 'MODULE_SHIPPING_RFQ_COST', 'MODULE_SHIPPING_RFQ_SORT_ORDER', 'MODULE_SHIPPING_RFQ_ZONE');
    }
  }
?>

take a look, 

if you can advise me that would be great!!

 

ty again,

 

craig

Share this post


Link to post
Share on other sites

Try this code in place of the second block you provided:

if( $shipping_weight > 150 )  $this->enabled = false;

You'll need the global in your first block of course.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

this is what did it:

 

 if ($total_weight < 150) {
         $this->enabled = false;
       }

and of course used the global: 

$total_weight

it took awhile but thank you for putting me on the right track,

 

TY,

 craig

Share this post


Link to post
Share on other sites

You can post a question in the Commercial Support forum to get paid help.

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
On 2017-5-26 at 6:03 AM, GWFoster said:

Is there a way to hire someone to install this module that is trustworthy onto my server for a client?

 

I would recommend @kymation @Jack_mcs or @burt who all have a good reputation and are quite active in the forums. I'm sure others will chime in with their own recommendations.


Let's make things easier for new osCommerce users http://forums.oscommerce.com/topic/402638-discussion-about-hard-coded-database-tables/?p=1718900  Getting there with osCommerce 2.4! :thumbsup:

Share this post


Link to post
Share on other sites
Quote
United Parcel Service United Parcel Service
This module supports only xpci version 1.0001 of the UPS Rates Interface. Please contact the webmaster for additional assistance.

I just signed up and received the UPS rates access key but now I get this error.

Share this post


Link to post
Share on other sites

Please don't bump your post. If you don't get any replies, try giving more information. We can't help without knowing the version of your osCommerce install and the version of your UPSXML module.

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
Posted (edited)
Quote
United Parcel Service United Parcel Service
This module supports only xpci version 1.0001 of the UPS Rates Interface. Please contact the webmaster for additional assistance.

Installed Version: osCommerce Online Merchant v2.3.4

UPS XML Rates v1.6.1 for osCommerce 2.3.4 2017-04-11

Quote

Error from cURL: Error [60]: SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed experienced by customer with id 1 gino difilippo jr on 2018-04-17 18:58:34

 

Edited by Gino D

Share this post


Link to post
Share on other sites

Your SSL cert may be outdated. Try the fix from this thread: https://forums.oscommerce.com/topic/410770-paypal-app-v5000/?do=findComment&comment=1768354

If that doesn't work, try the change in step 5 of the UPSXML_install.txt.

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

I dont believe I have an SSL cert on this hosting account. could that be the issue? Does it need one to function?

Share this post


Link to post
Share on other sites

armed with google I found this to fix it for me

Quote

changing the "0" to "1" in the code of upsxml.php.   locate: $this->use_exec = '0';  The latest UPSXML contrib has the "0" as default.  Anyway, changing that "0" to "1" fixed it for me.  this was the post that solved it

 

Share this post


Link to post
Share on other sites

That means that the cURL extension is not installed on your server. The cURL extension is required for newer versions of osCommerce, so you may have additional problems caused by this. I suggest that you get your host to install cURL, or find a host that meets the minimum requirements for osCommerce.

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
Posted (edited)
4 minutes ago, kymation said:

That means that the cURL extension is not installed on your server. The cURL extension is required for newer versions of osCommerce, so you may have additional problems caused by this. I suggest that you get your host to install cURL, or find a host that meets the minimum requirements for osCommerce.

Regards

Jim

Jim,

according to server info from the admin area:

Quote
cURL support enabled
cURL Information 7.22.0

I had a support ticket with my host and then found the fix. it worked until my host made some changes and now broken again. I have another ticket to them to undo whatever they did that broke it.

Quote
United Parcel Service United Parcel Service
This module supports only xpci version 1.0001 of the UPS Rates Interface. Please contact the webmaster for additional assistance.

 

Edited by Gino D

Share this post


Link to post
Share on other sites

If the extension is really installed then it should work without using exec. Maybe you can get your host to explain what they did to cause it to mess up.

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

here is the reply to the question of what was changed:

Quote

Hello, 

My apologies for any inconvenience that you might have experienced regarding your website service interruption. We have not made any changes to your website or account after this support thread was placed. It seems to be a short-lived issue which you were experiencing with your website. Also, we provide CURL version 7.22 on our servers. We might upgrade the CURL version in near future. 

Sincerely, 

Ashish K 
Technical Specialist

what would cause it to not work, then I change the "0" to "1" and it worked, then stop working, then working fine now. they claim to have made no changes, yet it stopped working after I opened a support ticket, then after updating the ticket to explain I had it working, please change it back, it starts working again. the only change I have made since installing the add on was 0 to 1. I dont feel they are being truthful with me.

1 broken since install

2 I complained to host

3 I made a change-works

4 10 mins later-broken

5 I complained again

6 20 mins later it's working again

 

Share this post


Link to post
Share on other sites

I installed this the other day and I am having the same problem mentioned several posts ago. When I go to install it in the admin>modules>shipping, it shows there is 1 to install but then when I click Install Module, it isn't there. If I uninstall Flat Rate, Flat Rate appears but I cannot reinstall unless I delete the upsxml.php file in includes/modules/shipping. When I delete that file off the server and refresh the Install Module page, the Flat Rate module appears normal and can be reinstalled. The UPS XML one never appears. According to a previous post, it was said there is a problem with the upsxml.php file. I have not done anything to the file so I don't know what is wrong with it. I receive no error messages. I've included the upsxml.php file below.

The install was normal except I had different code on the catalog/admin/modules.php above where it had me put in that code.

It says after adding it should look like this:

if (tep_not_null($action)) {
    switch ($action) {
      case 'save':
        reset($HTTP_POST_VARS['configuration']);
        while (list($key, $value) = each($HTTP_POST_VARS['configuration'])) {
          if (is_array($value) ) {
            $value = implode( ", ", $value);
		        $value = preg_replace ("/, --none--/", "", $value);
		      }
          tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $value . "' where configuration_key = '" . $key . "'");
        }
        tep_redirect(tep_href_link(FILENAME_MODULES, 'set=' . $set . '&module=' . $HTTP_GET_VARS['module']));
        break;
      case 'install':

But mine is this:

if (tep_not_null($action)) {
    switch ($action) {
      case 'save':
        reset($_POST['configuration']);
        while (list($key, $value) = each($_POST['configuration'])) {
	    if (is_array($value) ) {
            $value = implode( ", ", $value);
		        $value = preg_replace ("/, --none--/", "", $value);
		      }
          tep_db_query("update " . TABLE_CONFIGURATION . " set configuration_value = '" . $value . "' where configuration_key = '" . $key . "'");
        }
        tep_redirect(tep_href_link('modules.php', 'set=' . $set . '&module=' . $_GET['module']));
        break;
      case 'install':

Only thing I see different is $_Post instead of $HTTP_POST_VARS and tep_href_link('modules.php' instead of tep_href_link(FILENAME_MODULES

osCommerce Online Merchant v2.3.4.1
PHP Version 5.3.29

I'm at a loss and need help. Any help is greatly appreciated.

upsxml.php

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×