Jump to content
thirty bees forum
  • 1

Getting "The product selection cannot be delivered by the available carrier(s). Please amend your cart." when adding item in cart prior to being logged in or for new visitors.


papagino

Question

Hello people, I noticed a new problem on my shop since I did a core update about a week ago on my Thirtybees 1.5 Bleeding Edge installation.

If you are a new visitor and add an item to the cart then click on the "Proceed to checkout" button, on the following page "SHOPPING-CART SUMMARY", this error will show up "The product selection cannot be delivered by the available carrier(s). Please amend your cart."

Error_at_checkout.thumb.png.1bff1057b7586d7810c70e031d06348f.png

This only happens if you add items to the cart prior to log in to the site first or if you are a new visitor and have not yet setup a Guest or customer account with a shipping address.

I only ship to Canada and all shipping options only have Canada set in the range section...

CanadaOnly.thumb.png.26dd5d737d2ec7bfc63a683a360bdece.png
So maybe this is why I am getting the error, because visitors that are not log in (with a shipping address) may be interpreted as being from another zone than Canada so no shipping option is available in the cart until a shipping address is added ...

I wasn't getting this error before if I remember correctly, it only appeared about a week or so ago after I did a core update for Bleeding Edge 1.5.

This is not good as visitors/customers will think something is wrong and will leave you with an abandoned cart.

I am using a paid shipping module (Canada Post: Rates and Estimator v4.2.1 - by ZH Media) and this was working fine before.

I know the error (The product selection cannot be delivered by the available carrier(s). Please amend your cart.) is triggered by Thirtybees and not the Shipping module because this error is listed inside the "Front Office Translation" and not under "Installed Modules Translations" in the Backoffice.

I just performed another core update for Thirtybees Bleeding Edge 1.5 today, so it is the latest...

Any ideas on how to fix this and anybody else seeing this error?


Thanks
Dan

Edited by papagino
Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

Some conditions must be met for this error to occur. Can You check all parameters ? Maybe there is some changes caused by update ? Under "Shipping -> carriers" can be set options for carriers. I would start with "playing "out-of range behavior" When You put "Apply highest price ..." and carrier can deliver then check order dimensions and weight. Also You can check are there all permission available. Under products there is tab "Shipping", when using advanced warehouse then check that carrier can access to warehouse. And then it is (at least I have) BO tab "Modules and Services -> Payments.  Maybe there are more places what need to be check, but I would start with these.

Link to comment
Share on other sites

  • 0
48 minutes ago, led24ee said:

Some conditions must be met for this error to occur. Can You check all parameters ? Maybe there is some changes caused by update ? Under "Shipping -> carriers" can be set options for carriers. I would start with "playing "out-of range behavior" When You put "Apply highest price ..." and carrier can deliver then check order dimensions and weight. Also You can check are there all permission available. Under products there is tab "Shipping", when using advanced warehouse then check that carrier can access to warehouse. And then it is (at least I have) BO tab "Modules and Services -> Payments.  Maybe there are more places what need to be check, but I would start with these.

Thanks for your help...

I am pretty sure it is because visitors that are not log in (with a shipping address) is being interpreted as being from another zone than Canada, so no shipping option is available in the cart until a Canadian shipping address is added ...

If I log in with a test customer with a Canadian address, then all is good.

I think maybe something have changed in Thirtybees 1.5 core so that the cart is now looking for a shipping option prior to a shipping address to be set for a guess visitor or before a customer is logged in.

If I remember correctly, before, the cart would show the shipping to be either Free or $0.00 until a shipping address was made available for the cart.

Not sure what changed...

Advanced stock management is disable on my shop, see my setting here:

Warehouse.thumb.png.85c853f5ed96f966d264b1ef5be21aeb.png

 

 

Edited by papagino
Link to comment
Share on other sites

  • 0

So You think that customer with no delivery address only get this error ? If so then this is MUST BE result. Otherwise how the hell should system know where this product must go ? So test this  again. If missing delivery address is cause then quickest way is simply change the error message what is shown to client and put there demand to enter delivery address or something like this.

Link to comment
Share on other sites

  • 0
1 hour ago, led24ee said:

So You think that customer with no delivery address only get this error ? If so then this is MUST BE result. Otherwise how the hell should system know where this product must go ? So test this  again. If missing delivery address is cause then quickest way is simply change the error message what is shown to client and put there demand to enter delivery address or something like this.

I did change the message in translation to "Ignore this message and proceed to checkout..." but this error was not showing up before, I think the shipping was left blank in the cart, then it was displaying the different carriers option once the visitor had created a profile.

I will do some more digging this week to see what up with that...

 

Cheers

Link to comment
Share on other sites

  • 0

I don't think that there is any new code that broke this functionality, but of course I might be wrong.

When customer is not logged in, there is no specific address thirty bees can use to calculate shipping costs. If that happens, thirty bees will try to calculate shipping costs for currently selected country. In most cases, this is shop default country, set in Localization > Localization. But it can be different, for example if you use some geolocation module, which can resolve customer country (and language)

First of all, check Localization > Localization > Default Country

Don't forget to delete cookies during testing!

Link to comment
Share on other sites

  • 0
8 hours ago, datakick said:

I don't think that there is any new code that broke this functionality, but of course I might be wrong.

When customer is not logged in, there is no specific address thirty bees can use to calculate shipping costs. If that happens, thirty bees will try to calculate shipping costs for currently selected country. In most cases, this is shop default country, set in Localization > Localization. But it can be different, for example if you use some geolocation module, which can resolve customer country (and language)

First of all, check Localization > Localization > Default Country

Don't forget to delete cookies during testing!

Thanks for your input datakick,

Here is what I have found, my shop is setup to offer free shipping on orders over $150 for regular customers and free shipping for orders over $300 for my resellers.

I have created 2 carriers for those groups for the free shipping.

When a visitor add items in the cart that exceed $150, then a new "Canada Post Expedited (Free shipping on order over $150)" appears in the shipping options.

When a reseller login and add items in the cart that exceed $300, then a new "Canada Post Expedited (Free shipping on order over $300)" appears in the shipping options.

- If I disable the carrier for "Canada Post Expedited (Free shipping on order over $150)", the error disappears.

- If I add items in the cart for over $150, the error disappears.

- if I set the "Out-of-range behavior" for this carrier to "Apply the cost of the highest defined range" instead of "Disable carrier", then the error will also disappears.

 

So, it seems that the NEW problem is when you have the "Out-of-range behavior" set to "Disable carrier" that is causing the problem.

See my settings below:

Carriers.thumb.png.9a8888c2c48823957e74c6085235707f.png

Now here is how the Canada Post Expedited (Free shipping on order over $150) is configured:

GeneralSettings.thumb.png.8993d79b601bb9c26fd9cde24a3a5961.png

ShippingLocationsandCost.thumb.png.17e94c704207aee37af80a9bbb2a8055.png

Sizeweightgroupsaccess.thumb.png.4adb044168f9a6289b83e56453500056.png

Summary.thumb.png.b8845997bcf116000a6763a1ea83a354.png

 

Something must have changed in the recent Thirtybees 1.5 Bleeding edge updates to cause this new problem as it was not there about a week ago.

You can probably replicate this by creating a new carrier with the settings I've illustrated above...

Any inputs to resolve this would be very much appreciated.

Cheers

Dan

Link to comment
Share on other sites

  • 0

***SOLVED***

Yeaaaaaa!  I found the problem...

Un-ticked "Visitor" for Group access inside the "Canada Post Expedited (Free shipping on order over $150)" configurations did the trick, no more errors.

😀😁😆

 

Wait a second, does adding my IP in the"Maintenance mode "Maintenance IP" field automatically set me as whatever I have set myself inside the customer configuration window in Backoffice? I was set to Customer for the "Group access" and "Default customer group".

If I set myself to Visitor instead of Customer, error may go go away even if I tick Visitor as mentioned above for the carrier!!!

Will try again tomorrow to confirm this...

Seems the site detected that I was a Customer and not a visitor from my IP even if I wasn't logged in!!!

Oh well, maybe there wasn't any problems at all if this is the case...???

Will try again tomorrow to confirm this...

 

Edited by papagino
Link to comment
Share on other sites

  • 0

I'm trying to setup a dealer portal with TB 1.4 that mimics the production retail site. (I can't move the production retail site over to TB yet so multi-store is out of the question for now.)

Anyway, I've tried all of the above, I even went into the database and matched EVERY SETTING in the six carrier tables to that of the tables of my production server (running on PS 1.6) and I STILL have this error! (Running Community Theme with the only theme code modification being an override for AuthController.php to change the default registration status to inactive - so customer accounts require approval in order to place orders.)

There MUST be something in the TB 1.4 code that is causing this as the aforementioned settings work perfectly fine on the production site. (It is running Panda 1.2 as a theme, so there is that.)

Looking for answers too!

----------- EDITED ---------------

I am also only running the Custom Payment Methods Module - I planned to leave this available - but activate PayPal once the site was ready to start taking orders.

image.png.e8945f837de2f8052ce35f51cbea0683.png

Edited by Obi
added potentially important info
Link to comment
Share on other sites

  • 0

Try to install Maxmind Geolocation module.

Also don't forget to enable it in Preferences/Geolocation - Geolocation service dropdown.

This module also helps selecting right shipping for visitors that are in same zone as you and your carrier.

  • Like 1
Link to comment
Share on other sites

  • 0

Ok, I solved MY problem with this...

It actually turns out that one of the values in a table that I had no idea existed was pointing to the wrong tb_range_weight record. I don't know if that was a result of the imports or if it was editing the carriers in the back office.

At least if somebody else has this similar problem this might give them someplace else to look before giving up.

This was more difficult than it had to be given I didn't have an Entity Relationship Diagram of the database.

Here are the database tables to check values in: 
tb_carrier 
tb_carrier_group
tb_carrier_lang
tb_carrier_shop
tb_carrier_tax_rules_group_shop
tb_carrier_zone
tb_range_price
tb_range_weight
tb_delivery
tb_module_carrier

 

Link to comment
Share on other sites

  • 0
11 minutes ago, toplakd said:

Try to install Maxmind Geolocation module.

Also don't forget to enable it in Preferences/Geolocation - Geolocation service dropdown.

This module also helps selecting right shipping for visitors that are in same zone as you and your carrier.

Thanks!

I'll take a look at that Maxmind module though - especially since the venture driving this website will do some amount of international shipping, and the production retail site would be none the worse for having some sort of geolocation capability for new customers.

My problem turned out to be a bad value in the tb_delivery table. Not sure if that happened during import or afterwards during configuration and I don't really have the time to troubleshoot the origin. I guess I've fixed so many bugs in PS that my first inclination is to think a problem has to be in the code - themes were terrible for that!

BAD DOCUMENTATION = BAD CODE!

Link to comment
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
×
×
  • Create New...