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.