With a slightly-modified ups.php (disabled when order >=800 lbs) and a cloned freeoptions module ("flatoptions" -- flat rate conditioned on order >=800 lbs and shipping address in contiguous U.S.), I am experiencing a checkout glitch where a customer can apply a coupon and have the cost of UPS shipping deducted unintentionally. Don't worry -- I'm convinced this is unique to my Zen-Cart, and I just need to track down my own mistake; this is not something you'll find in standard Zen-Cart 1.3.7 installations.
The explanation is tedious, so please bear with me.
A customer has a coupon code -- if you want to test it, try coupon code ZCZCZC. (I created this coupon code for community testing; it's only $5 off, but it illustrates my problem to anyone who feels like testing it.) Customer puts an allowed-for-coupon product (e.g. shed kit) in the cart and goes to checkout. Customer selects shipping method, e.g. free options AKA pickup at terminal. Customer enters redemption code when prompted, and the success text is displayed. Customer continues shopping and adds product that is denied-for-coupon to cart. Customer then removes allowed-for-coupon product from cart, leaving product that is denied-for-coupon. Customer goes back to checkout and selects new shipping method (e.g. UPS). Are you still with me?
The resulting order total credits the customer on the coupon redemption in the exact amount of the UPS shipping, up to the face value of the coupon, making UPS shipping unintentionally free whenever the coupon's face value >= the shipping fee.
I tried switching to the Classic template to see if the problem is template-related, but I get
Fatal error: Call to a member function on a non-object in ... /shedkitstore.com/includes/classes/category_tree.php on line 135when trying to checkout -- perhaps an overridden file or two eliminating the Classic option.
Something tells me I'll be working on this one all weekend ... :huh: