Jump to content

You must choose a carrier before applying this voucher to your order


Guest

Recommended Posts

Hi everyone!

 

We are using the cart rule with carrier selection so that we don't have the coupon apply for certain weight ranges..

 

However, when the customer enters the coupon on summary cart page they get an error. 

 

You must choose a carrier before applying this voucher to your order

 

Can anyone please shine some light on if this is normal? It was working before.. not sure why the big fuss now. Am I doing something wrong?

 

Thanks in advance!

Link to comment
Share on other sites

Hi rofl,

are you saying that it worked before, even when you had this rule in place? If so, id you change anything that may have affected this?

 

It seems to me that it works correctly, as you say the rule is based on a carrier (it will probably need to check the weight ranges that are in place for this carrier, before it can decide if the voucher can be used or not)

 

Please elaborate a little.

pascal.

Link to comment
Share on other sites

Hey pascal,

 

Odd that is wasn't working there, but it seems I had make some very small modifications to authentication.tpl the day before and the whole process was acting funky - that was only one part of it. I'm not sure if the file didn't upload correctly or what, but now it seems to be working again with a backup.

 

If the problem comes back again I will be sure to let you know.

 

Thanks again,

eggo

Link to comment
Share on other sites

  • 1 month later...

  1. You must choose a carrier before applying this voucher to your order

I am getting this same error again.. I did do some recent work on authentication.tpl and the shopping cart in general...

 

Just cosmetic stuff though...

 

Can anyone suggest what might be causing this or where I can look to fix this issue?

 

For example if you add this to cart:

 

http://anewall.com/landscape/224-john-wootton-a-fox-hunt.html#/media-matte_canvas_museum_wrap/frames-unstretched_canvas/size-28_x_18

 

And try to apply SOCIAL15..

 

Ughhhhh.

 

Edited by Guest (see edit history)
Link to comment
Share on other sites

The condition that shows this message is as follows:

		if ($this->carrier_restriction)
		{
			if (!$context->cart->id_carrier)
				return (!$display_error) ? false : Tools::displayError('You must choose a carrier before applying this voucher to your order');

So it will show this message when the cart_rule is carrier dependent AND no carrier is selected yet. Seems correct to me IF the cart_rule SOCIAL15 is indeed still carrier dependent as in initial topic message (post #1)...

Link to comment
Share on other sites

Hey Pascal,

 

Thanks for responding! Your right, the rule is carrier dependant because it can't be used for items over certain weights and therefore specific carriers. But I swear it has been working in the past so that it works UNLESS the item is over a weight where the carrier will be used that isn't allowed. 

 

Isn't that how it is supposed to be? Not based on the carrier selection because that is step 3, so in that case where does the customer enter the voucher? They have to go back? 

Link to comment
Share on other sites

Hmm, interesting. Indeed see problems if some carriers cannot be used for shipping...

 

But let's first check why there's no carrier selected in the first place. Do you have a default carrier selected? Please let me know if this was the case or not (actually there should be a carrier selected by default, so this error you get should not be shown. Only when no carrier available for the address, I can imagine it shows this error OR when there's no default here... So let me know)

(shipping->carriers, scroll down a little, you can set this in the settings block below the list of carriers).

 

 

After checking this, can you now set the default carrier to "Best Price"? I'm not sure if it works, but I can imagine when checking the shipping price, it will also check which carrier can be used at all. Maybe this then also solves the problem of needing to select a carrier before adding the voucher... (hope hope)

 

pascal.

Link to comment
Share on other sites

Hey Pascal,

 

Thanks for the help so far.. I was not able to find the Best Price setting. Also, I do have a default carrier but it still doesn't work.

 

29o4yer.jpg

Link to comment
Share on other sites

Shipping price is free on more than half our orders though, so it seems redundant most of the time for our customers. :(

 

Vouchers work that don't have carrier restrictions. The ones with carrier restrictions don't work.

 

I wish it would apply and only not work for the certain weight restrictions as we intended. We only don't want products >1000lbs in our database to not work with the coupon.

Edited by Guest (see edit history)
Link to comment
Share on other sites

  • 3 months later...
 

i got the error when i select cart rules -> conditions -> carrier selection.

 

to fix this i just unchecked carrier selection, but this ends up having all carriers with free shipping. 

 

I just needed usps to be free shipping and hide the rest when the voucher code is applied

so i made that the default in shipping -> preferences -> usps

 

then i added a css id to the div in themes/default-bootstrap/order-carrier.tpl

from

<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item">

to

<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item" id="{if $option.is_free || !isset($free_shipping) || $free_shipping }hide{/if}" >

added at the end in themes/default-bootstrap/global.css

#hide.delivery_option.alternate_item{
       display:none;
}

before:

post-820452-0-48081200-1409130020_thumb.png

 

after:

post-820452-0-07182700-1409130027_thumb.png

post-820452-0-48081200-1409130020_thumb.png

post-820452-0-07182700-1409130027_thumb.png

Edited by zeki893 (see edit history)
  • Like 1
Link to comment
Share on other sites

  • 6 months later...

Does exist a solution about this pb ??

 

  1. You must choose a carrier before applying this voucher to your order.

How can I choose a carrier when this step is later ?

 

This pb block me, I need help please !!!

 

Thank you !

 

try my code above 

Link to comment
Share on other sites

Thank you ZEKI893 but your code doesn't work for me. But I don't understand how it can work for my pb.

 

You hide a carrier but this code doesn't answer to my pb. I have seen you have twice the same carrier... So I understand in this case that you want to hide the second carrier...

 

But my pb, I repeat it is :

 

  1. You must choose a carrier before applying this voucher to your order.

How can I choose a carrier when this step is later ?

 

 

 

Plus I have discovered many bugs on this part...

 

When I create a voucher about free carrier, people needn't to enter the voucher... The carrier is free yet ! It's super weird no ?

 

Anyway, I understand NOTHING about these vouchers !

Edited by Regaton (see edit history)
Link to comment
Share on other sites

Regaton,

 

Some questions:

 

- What PS version do you use?

- Do you have more than one carrier to choose from?

- Does the voucher only works for one (or a subset of) the carriers?

- Can you describe the condition(s) when the voucher can be used?

- Does the user really have to add the voucher manually, or could the voucher maybe be added automatically whenever it's possible (by not adding a voucher name/code, it will be added automatically)?

- Depending on your voucher conditions, sometimes you can just create the free shipping in the carrier steps (like "if the price over 150$, this carrier gives free shipping" you might do in the carrier range steps instead of using a voucher)

 

Please give some more details about your situation.

 

Thanks,

pascal.

Edited by PascalVG (see edit history)
Link to comment
Share on other sites

Thank you to ask !

 

- I am using PS 1.6.11

- Yes I have several carriers (today 7 carriers but I will have 4)

 

I'm gonna describe what I try to do and what PS does in order to answer to you...

 

 

 

"TEST" is a coupon code that offers shiping only for customers who type it. Only one (or several, depends of my select) carrier must be free.

So, if you don't have the code you can't have the free shipping. That's why it's very important to create a code. I don't want an automatic rule.

 

 

 

I create the code according to my will above...

(you can see pictures and the steps to create this voucher)

post-916583-0-63992700-1427789376_thumb.jpg post-916583-0-41736600-1427789429_thumb.jpg post-916583-0-03814800-1427789450_thumb.jpg

 

 

And now... What PS does when I want to order using the code "TEST" :

post-916583-0-63717500-1427790675_thumb.jpg post-916583-0-01655200-1427790677_thumb.jpg post-916583-0-41817100-1427790678_thumb.jpg post-916583-0-29585700-1427790679_thumb.jpg

 

What can I do to avoid this error ?

Thank you again to help !

 

 

 

Link to comment
Share on other sites

Yes, I understood the problem you had.

 

Possible solutions/work arounds:

- Maybe make the Livraison à domicile your default carrier. This might help. (But only if you don't have other vouchers for other carriers which will then give the same problem for those carriers, of course)

- Use instead of the 5 step checkout the one page checkout. This way the customer can just scroll down quickly to choose a carrier and then add the voucher code again.

 

- any other solution needs hacking in the source code of PrestaShop, which may prove difficult/time consuming. You would have to accept vouchers independent on if they can be used, then at the end in step 5 check if they indeed can be used. (And if not, alert the buyer that the voucher will unfortunately not work with these chosen settings, which is also strange, as they will think 'why didn't you tell me in the first place when I added the code". You can't really 'win' here...

 

 

I would go for option 2, one page checkout...

 

pascal.

Link to comment
Share on other sites

N.B. Additional problem with carriers is that they are address dependent. Like if your address is in France, carrier X and Y are possible, but if your address is in the USA, only carrier Z is available. So you have to add your address first before you can make a choice of carrier.

 

(I agree that promo code input would have been best at the end, when all dependencies were settled...)

Link to comment
Share on other sites

Hello,

 

I tried to choose the good default carrier in vain.

 

Choose the One Page Checkout is impossible bc one of my carriers doesn't work in this way.

 

I don't mind to modify some code... But where ? Plus if I read the Prestashop guide (for 1.6) they explain exactely what I need but it doesn't work. I am really chocked (and sad) that this pb is not fixed since 2012 or 13... It's crazy. Plus it means nobody purposes to offer one carrier in their prestashop ? In ecommerce business it's realy (super mega extra giga) important... In my opinion thought !

 

But yes Prestashop team could fix this pb. I see plenty people with this pb and no real solution. I am desperate !!!

 

So no solution ?

Link to comment
Share on other sites

  • 1 month later...
  • 4 months later...

i got the error when i select cart rules -> conditions -> carrier selection.

 

to fix this i just unchecked carrier selection, but this ends up having all carriers with free shipping. 

 

I just needed usps to be free shipping and hide the rest when the voucher code is applied

so i made that the default in shipping -> preferences -> usps

 

then i added a css id to the div in themes/default-bootstrap/order-carrier.tpl

from

<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item">
to

<div class="delivery_option {if ($option@index % 2)}alternate_{/if}item" id="{if $option.is_free || !isset($free_shipping) || $free_shipping }hide{/if}" >
added at the end in themes/default-bootstrap/global.css[/size]

 

#hide.delivery_option.alternate_item{
       display:none;
}
before:

 

 

after:

Admittedly, I was scared to do this, but it worked! THANK YOU!

 

PRESTASHOP FIX YOUR BASIC FUNCTIONS!!!

Link to comment
Share on other sites

×
×
  • Create New...