David E Jones wrote:
> On Feb 8, 2010, at 5:14 PM, Adam Heath wrote:
> 
>> Adam Heath wrote:
>>> We've got a client that wants to offer free shipping based on certain
>>> conditions; namely, whether the order > a certain dollar amount.   If
>>> the condition matches, then they can get the cheapest free shipping,
>>> but only to a particular region, namely USA, and standard mail.
>>>
>>> I can't see how to do that in the promo system.  I can match a promo
>>> by total $$ amount.  I can't then give free
>>> shipping(ProductPromoWorker references PROMO_FREE_SHIPPING, but that
>>> isn't in the seed data).  Even fixing that problem, I don't see a way
>>> to change the list of available shipping methods for a product store.
>>>
>>> Can anyone offer any pointers?
>> Set a minimum price on the ProductStoreShipmentMeth, set an
>> includeGeoId.  That'll allow a shipping method to show up with an
>> appropriate name, saying it is free shipping.
>>
>> I still don't know how to keep the user from being charged for
>> shipping.  We'd like the shipping charge to show up as a separate line
>> item in the accounting system, I just don't want the user to be
>> charged for it.  Maybe an OrderAdjustment that negates the shipping
>> charge, but I don't see how to do that.
> 
> It looks like you found it. Yes, there used to be a promo rule action for 
> free shipping, but it stopped working after a ShoppingCart refactor a LONG 
> time ago and was never fixed because the shipping price calculation tends to 
> do most of what people want, or I guess is good enough...

but how can I keep the user from being charged for shipping, *only* if
they select the free shipping method?

Let's say a user needs to purchase $35 of product.  Then, I add a
promo that gives them a shipping discount of 100%.  However, if they
choose the UPS Next Day air option, they should not get free shipping.
 The only way I can see to give them free shipping is in the promo
system, but that is an all-or-nothing setup, I can't limit that by
shipping method.

Reply via email to