Shipping added to cart ERROR "free shipping" enabled

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
I have a very strange error that is easily replicated.
I'm working on a store and there is a Grouped (product with variants).
Variant 1 is set for "Customer Enters Price" shipping enabled "free shipping"
Variant 2 is set for "Customer Enters Price" shipping NOT enabled (digital download)
Variant 3 is set for "Customer Enters Price" shipping NOT enabled

If you add Variant 1 (with any price) to the cart NO shipping is required.
If you also add either Variant 2 or 3 (with any price) to the cart SHIPPING is NOW REQUIRED? The shipping estimator appears and shipping is required to complete checkout? How and why is this happening? NONE of the Variants require shipping!

It seems like any cart that has a "free shipping" item & non shipping item in the same cart is being charged shipping. This is happening with all the products not just the example product. This was not a problem on version 3.70 just 3.90 since we upgraded last week. This seems like a big bug.

Here is the sample Grouped product I used in the example.
http://www.jerrysavelle.org/store/august-2017

Please help.
6 years ago
Allshookup wrote:
If you add Variant 1 (with any price) to the cart NO shipping is required.


With only variant 1 (August 2017 - CD) in my cart, as guest, I see shipping as required.  Can you provide further repro steps?
6 years ago
How is that even possible?
I have Shipping Enabled and the checkbox for "Free shipping"

6 years ago
Maybe there's something I'm not understanding - "free shipping" implies the item needs to be shipped but at no cost.
6 years ago
I understand the "Free Shipping"
But why if item 1 has "free shipping" and item 2 has NO shipping (digital download) people are being charged USPS Media Mail Parcel ($3.13)

6 years ago
I see now.  Do you have access to the source code?  The bug is on line 802 of OrderTotalCalculationService.cs - you'd change this:

  if (cart.All(item => item.IsShipEnabled && item.IsFreeShipping))
                return true;


to this:

  if (cart.All(item => !item.IsShipEnabled || item.IsFreeShipping))
                return true;



Thanks for reporting this!

*edit for formatting
6 years ago
Thank you for your help. I was hoping your solution would fix the problem but after making the changes to the code I still get the same shipping charge showing up.

6 years ago
Your code is incorrect.  Please simply copy and paste.
6 years ago
YES! I just noticed that as well! I will update and test again.
Thank you.
6 years ago
Also I have opened an issue about it: https://github.com/nopSolutions/nopCommerce/issues/2504
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.