SuperCharlie Posted August 25, 2012 Share Posted August 25, 2012 (edited) I have a free shipping problem I hope someone has an easy fix for.. I have 2 shippers, standard and express. I set up free shipping at $50 and I only want standard to be free and to leave express as an option to select and pay extra for. Right now when someone hits $50 it allows them to select either for free, which kicks my profit margin in the nads when they select express (which is like 2-day) instead of standard (which is like 5-7) So.. if someone adds $50 to their cart, how do I give them free standard and let them select express for additional charge? Thanks, SC Edited August 26, 2012 by SuperCharlie (see edit history) 1 Link to comment Share on other sites More sharing options...
SuperCharlie Posted August 26, 2012 Author Share Posted August 26, 2012 (edited) Cmon.... just a small bone.. puhleeeze... just a hint to where the query or controller or where it flops from pay to free would help I can hack up the rest... edit: Sorry.. I forgot.. 1.4.8.2 at the moment. Edited August 26, 2012 by SuperCharlie (see edit history) 1 Link to comment Share on other sites More sharing options...
razaro Posted August 26, 2012 Share Posted August 26, 2012 Try some codes from http://www.prestasho...post__p__606772 or maybe http://www.prestasho...e-carrier-only/ 1 Link to comment Share on other sites More sharing options...
shokinro Posted August 26, 2012 Share Posted August 26, 2012 it seems a small bone, but sometime it is not easy. Please try following 1. Remove free shipping from store level (Shipping tab) by setting it to 0 2. Use price range to set 0 for order more than $50 at your standard carrier 3. Use price range to set different shipping price for different order amount range hope this helps 1 Link to comment Share on other sites More sharing options...
SuperCharlie Posted August 26, 2012 Author Share Posted August 26, 2012 Thank you both Shokinro and Razaro. I will try the shipper config first from Shokinro as I like to try and keep the base unmodded if at all possible but if that wont do I think the bones you through out Razaro will do the trick if I nee to get dirty in the code. Either way, I will post up here as to what I ended up doing and my particulars in hopes it will help someone else down the road. Again.. thanks! SC Link to comment Share on other sites More sharing options...
shokinro Posted August 26, 2012 Share Posted August 26, 2012 It is PrestaShop standard shipping configuration. So if you vonfigure it correctly, it should work as expectly. Enjoy PrestaShop Link to comment Share on other sites More sharing options...
SuperCharlie Posted August 26, 2012 Author Share Posted August 26, 2012 Ok.. since I have a very weird shipping scheme (its very convoluted with weights and prices and other weirdness) I tried many flavors of making the inherent thing work but ended up using the code hack from Razaro. If I had a more straight forward shipping scheme I think I could have made a new "free" carrier work, but since I add a per-product amount it ended up either being always available and allowing free or adding my per-item fee and having an order with like 3 items and $1.50 for shipping. Here is the code from the links that I used.. Worked for 1.4.8.2 classes/Cart.php replace A-ID with carrier ID, multiples with a comma between them.. eg: $disable_freeshipping = array(27) $disable_freeshipping = array(27,39,44) You can find your carrier ID by hovering over the delete button for that carrier and looking at the url or clicking edit and looking at the url. $disable_freeshipping = array(A-ID); $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) $free_fees_price = Tools::convertPrice((float)($configuration['PS_SHIPPING_FREE_PRICE']), Currency::getCurrencyInstance((int)($this->id_currency))); $orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING); if ($orderTotalwithDiscounts >= (float)($free_fees_price) AND (float)($free_fees_price) > 0 AND !in_array($id_carrier, $disable_freeshipping)) return $shipping_cost; if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) AND !in_array($id_carrier, $disable_freeshipping) AND $this->getTotalWeight() >= (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) AND (float)($configuration['PS_SHIPPING_FREE_WEIGHT']) > 0) return $shipping_cost; In any case.. I thank you both for your input. SC 1 Link to comment Share on other sites More sharing options...
shokinro Posted August 27, 2012 Share Posted August 27, 2012 @weir, thanks for your feedback and I am glad it helped. Enjoy your PrestaShop. Link to comment Share on other sites More sharing options...
alabasta Posted October 23, 2012 Share Posted October 23, 2012 Hello I am new to PS and just try in my test site about 2 weeks ago. i am using 1.5.1.0 and I have trouble with Shoppping cart summary. My Cart Rule is to give free shipping for purchase above RM150. Purchase below that will have shipping cost. But when I try with test product, the Free Shipping is appear but in the same time, it calculate the shipping cost. Where should i fix to stop calcutate shpping cost for purchase above RM150? Thanks Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 2, 2013 Share Posted January 2, 2013 Hi! I'm running prestashop 1.5.2 and I had this same problem. I finally figured it out thanks to everyones help. Note: My shop has free shipping at $75 not $50. The 1st picture is when the cart has less than $75 and the last picture is when the cart totals over $75 Step 1: Set all handling and shipping to 0 Step 2 : Set up price ranges for each carrier 0 to $49.99 and 50.00 to 1000000000+ Step 3: Go to each zone and define a shipping rate based on each price range $0-49.00= $5.95 and $50-100000000+ = $0.00 Step 4: For express mail (3-day shipping) set your range to 0-1000000000+ and just set the shipping to your specific price $24.95 Done! 1 Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 2, 2013 Share Posted January 2, 2013 (edited) Any questions feel free to ask me. Edited January 2, 2013 by The Fuzzy Pineapple (see edit history) Link to comment Share on other sites More sharing options...
alabasta Posted January 2, 2013 Share Posted January 2, 2013 Thanks The Fuzzy Pineapple, thats really help me! 1 Link to comment Share on other sites More sharing options...
benjamin utterback Posted January 2, 2013 Share Posted January 2, 2013 Hello the Fuzzy Pineapple, where did you set your cart rule to have Free Shipping over $75.00? Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 2, 2013 Share Posted January 2, 2013 I didn't set any cart rules. Just price ranges. If people pay up to $74.99 their shipping is $5.95. If they pay $75 or more their shipping range switches to $0.00 (Free). That is just for US ground shipping (carrier). I set the 3-day shipping (carrier) to only be allowed for North America (done in zones) and then set the price range for that to cover all price ranges $0.00 to 10e+14 (the highest number prestashop will allow). So now only people purchasing in North America will be offered 3-day shipping and no matter what their cart totals, they will always have to pay $24.95 if they select 3-day shipping. (which is really 1-2 day shipping so it's guaranteed to be there on time.) The tutorial is a step by step guide of everything I did. 1 Link to comment Share on other sites More sharing options...
benjamin utterback Posted January 2, 2013 Share Posted January 2, 2013 Hi The Fuzzy Pineapple, thank you for this information and tutorial! 1 Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 2, 2013 Share Posted January 2, 2013 No problem. I have another one coming. I lost my entire website dealing with Ipage so I made a tutorial just for Ipage users. Pics coming soon. Link to comment Share on other sites More sharing options...
zachlurie354 Posted January 4, 2013 Share Posted January 4, 2013 I don't want any free shipping, period. How do I get the cart to not display "Free shipping!" when a user is just shopping? I am only using UPS as a carrier and I have the options in the back office off like they say to: Thank you in advance! Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 4, 2013 Share Posted January 4, 2013 I don't want any free shipping, period. How do I get the cart to not display "Free shipping!" when a user is just shopping? I am only using UPS as a carrier and I have the options in the back office off like they say to: Thank you in advance! Hi! Yes you just set free shipping to 0. But you still need to set up your price ranges for each carrier seperately. Or you can just set "handling charges" to whatever shipping price you would like, which will apply to every carrier. Link to comment Share on other sites More sharing options...
zachlurie354 Posted January 4, 2013 Share Posted January 4, 2013 thanks for the quick reply ... But these settings did not take away "Free Shipping!" from displaying in the cart when a visitor, who is not logged in, adds an item to the cart. I just simply want $0.00 to display until a user has chosen a shipping method. I made UPS Ground the default carrier but that doesnt seem to do anything either. :/ Thanks! Link to comment Share on other sites More sharing options...
zachlurie354 Posted January 4, 2013 Share Posted January 4, 2013 thanks for the quick reply ... But these settings did not take away "Free Shipping!" from displaying in the cart when a visitor, who is not logged in, adds an item to the cart. I just simply want $0.00 to display until a user has chosen a shipping method. I made UPS Ground the default carrier but that doesnt seem to do anything either. :/ Thanks! For now, I've removed the "Free shipping!" words from 2 templates and simply forced it to be 0.00 Not ideal, but it'll do in a pinch as this site needs to go live tomorrow. Link to comment Share on other sites More sharing options...
The Fuzzy Pineapple Posted January 4, 2013 Share Posted January 4, 2013 thanks for the quick reply ... But these settings did not take away "Free Shipping!" from displaying in the cart when a visitor, who is not logged in, adds an item to the cart. I just simply want $0.00 to display until a user has chosen a shipping method. I made UPS Ground the default carrier but that doesnt seem to do anything either. :/ Thanks! Hi. I'm sorry, I didn't understand your dilemma. I think Prestashop sets it to "free" because it's usually more practical for customers to see free instead of $0.00. However I understand now what you are trying to do. You can try setting a base price so that instead of seeing free, they see something like $5.95 for all shipping carriers. Even if your shipping is based on weight, your customers will be able to know how much the lowest possible shipping will cost. Link to comment Share on other sites More sharing options...
tulihost Posted April 18, 2013 Share Posted April 18, 2013 Hi! I'm running prestashop 1.5.2 and I had this same problem. I finally figured it out thanks to everyones help. Note: My shop has free shipping at $75 not $50. The 1st picture is when the cart has less than $75 and the last picture is when the cart totals over $75 Step 1: Set all handling and shipping to 0 Step 2 : Set up price ranges for each carrier 0 to $49.99 and 50.00 to 1000000000+ Step 3: Go to each zone and define a shipping rate based on each price range $0-49.00= $5.95 and $50-100000000+ = $0.00 Step 4: For express mail (3-day shipping) set your range to 0-1000000000+ and just set the shipping to your specific price $24.95 Done! Thanks you. Its solve my problem. Link to comment Share on other sites More sharing options...
tulihost Posted April 18, 2013 Share Posted April 18, 2013 Thank you The Fuzzy Pineapple . your triks work fine for me. Link to comment Share on other sites More sharing options...
dformica Posted October 4, 2013 Share Posted October 4, 2013 How to solve this problem in PS 1.5.5.0? I'm not offering Free Shipping, my store is in the USA. When I estimate shipping to any other country other than USA, it displays Free Shipping! Link to comment Share on other sites More sharing options...
Rukshar Khan Posted December 4, 2013 Share Posted December 4, 2013 has anyone fixed free shipping issue? Link to comment Share on other sites More sharing options...
dformica Posted December 4, 2013 Share Posted December 4, 2013 In disabled/installed the shipping estimator. I setup flat rates based on weight in the BO > Shipping > Carriers Link to comment Share on other sites More sharing options...
jimmyc Posted May 16, 2014 Share Posted May 16, 2014 (edited) vote this up as a core function in prestashop http://feedback.prestashop.com/forums/124931-general/suggestions/5862131-free-shipping Vote 3 votes to make it happen http://feedback.prestashop.com/forums/124931-general/suggestions/5862131-free-shipping Edited May 16, 2014 by jimmyc (see edit history) Link to comment Share on other sites More sharing options...
gidiisr Posted September 8, 2014 Share Posted September 8, 2014 Hi there... i'm using prestashop 1.4.6.2. and i know i should upgrade soon. but before i do that. i have a question is there a way when i sell a specific product likes a t-shirt for example. 1. when the customer puts in the cart 3 t-shirt... and only these 3 t-shirt in the cart. then he gets free shipping 2. i want to limit the free shipping up to 2 KG and then it's not free any more. it becomes express... is there a way to do it in 1.4.6.2 and in the latest version thanks gidi israeli Link to comment Share on other sites More sharing options...
tccb Posted March 1, 2016 Share Posted March 1, 2016 Hi there i can't see the pictures The Fuzzy Pineapple posted... so i can't see the tutorial. why? post to old or? Link to comment Share on other sites More sharing options...
VincentBlouin Posted March 31, 2016 Share Posted March 31, 2016 (edited) inspired by @SuperCharlie but for prestashop 1.6.1 $enable_freeshipping = array(8); $free_fees_price = 0; if (isset($configuration['PS_SHIPPING_FREE_PRICE'])) { $free_fees_price = Tools::convertPrice((float)$configuration['PS_SHIPPING_FREE_PRICE'], Currency::getCurrencyInstance((int)$this->id_currency)); } $orderTotalwithDiscounts = $this->getOrderTotal(true, Cart::BOTH_WITHOUT_SHIPPING, null, null, false); if ($orderTotalwithDiscounts >= (float)($free_fees_price) && (float)($free_fees_price) > 0 && in_array($id_carrier, $enable_freeshipping)) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } if (isset($configuration['PS_SHIPPING_FREE_WEIGHT']) && in_array($id_carrier, $enable_freeshipping) && $this->getTotalWeight() >= (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] && (float)$configuration['PS_SHIPPING_FREE_WEIGHT'] > 0) { Cache::store($cache_id, $shipping_cost); return $shipping_cost; } Edited March 31, 2016 by VincentBlouin (see edit history) Link to comment Share on other sites More sharing options...
bud Posted April 30, 2016 Share Posted April 30, 2016 Can you give more instruction as how to use the code you provided? Link to comment Share on other sites More sharing options...
Jade4580 Posted March 13, 2017 Share Posted March 13, 2017 Hello. Im relatively new to Prestashop and am having difficulty setting a specific free shipping at a specific price for a specific carrier. We use FeEx as our Carrier and having all the different shipping methods for FedEx we want to offer free shipping for FedEx Ground but ONLY if the order is more than 150$. I have tried doing this a thousand ways and either it comes up as free shipping for every type of carrier at 150$ or it doesnt come up at all. I could really use some assistance on this. Thanks. 1 Link to comment Share on other sites More sharing options...
DavidSiqueira Posted June 6, 2017 Share Posted June 6, 2017 I'm also having difficulty to configure the shipping. The shipping value appears only when the user is logged in. Link to comment Share on other sites More sharing options...
Recommended Posts