Jump to content
  • Checkout
  • Login
  • Get in touch


The e-commerce.

Free shipping over $$ amount


Recommended Posts

I am currently using the table rate for shipping using weights. I want to have free shipping if someone orders say over $150. Now if I used the table rates for price that would be easy but that is not really a good option.


Is there a good way to do this?





The Knowledge Base is a wonderful thing.

Do you have a problem? Have you checked out Common Problems?

There are many very useful osC Contributions

Are you having trouble with a installed contribution? Have you checked out the support thread found Here

BACKUP BACKUP BACKUP!!! You did backup, right??

Link to comment
Share on other sites

  • 3 weeks later...



I am interested in allowing for free shipping over a set $ amount for only

UPS ground.


When i enable the "allow free shipping" in the "order total" module, it

applies to all shipping methods.


Is there a way to have this only apply to ups ground, and have all other

methods avaialble and charged the proper amount?


Any comments / suggestions?


Using the latest MS2,



Link to comment
Share on other sites



Here's what I got...


Change the UPS shipping module shipping/ups.php (line numbers may be off by 1 or 2, watch for it)


At line 91, add (after $upsQuote = $this->_upsGetQuote(); )


// For free ground shipping

$free_ground_ship = false;

if ( $this->_upsOrderTotal() >= MODULE_SHIPPING_UPS_FREE_GROUND_SHIPPING )

$free_ground_ship = true;


Replace line 108-109

'title' => $this->types[$type] . (($free_ground_ship && substr($type,0,3) == 'GND') ? ' (FREE!) ':'') ,

'cost' => ($free_ground_ship && substr($type,0,3) == 'GND') ? 0.00 : ($cost + MODULE_SHIPPING_UPS_HANDLING) * $shipping_num_boxes);



Add line 144 of function install()

tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Free Ground Shipping?', 'MODULE_SHIPPING_UPS_FREE_GROUND_SHIPPING', '', 'Free Ground Shipping for orders over this dollar amount (leave blank for none).', '6', '0', now())");


Update line 152 in function keys()



At line 297 add

// For free ground shipping

function _upsOrderTotal()


global $order;


$totalAmt = 0;

for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {

$totalAmt += $order->products[$i]['final_price'] * $order->products[$i]['qty'];


return $totalAmt;




You can then change the Free Ground Shipping amount in osC admin's UPS Shipping module.



Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...