Hi all,
I looked through all the previous posts (at least to the best of my knowledge) and I couldn't find any solution for the coupon update problem, so I thought I'd offer up my (possibly retarded, but apparently functional) fix. Just a heads up, my products are virtual, and people aren't updating shipping or billing info, so that may make a difference as to why this worked for me, and might screw things up for you.
First, the issue:
If a customer typed in the coupon code and clicked the redeem/update button, the order total would update and the coupon code would show just like it was supposed to. But then, if they confirmed the order, they would just get bounced back to the checkout page with no coupon code as if they'd never entered it to begin with. This problem wasn't unique to 1.8.1, it had actually been happening in previous installs which is why I upgraded to 1.8.1 instead of waiting until I upgraded my Zencart install to 1.3.9 to upgrade.
My crappy solution:
I noticed that after you put in the coupon code, the url changed from having an fecaction of null to an fecaction of update. This led me to the header_php.php file for the checkout page where I saw that the update case was giving my confirm button an action that just redirected to the checkout page - probably because of my lack of shipping details.
Sooo, in includes/modules/pages/checkout/header_php.php I changed the code around line 442 from:
}
break;
case 'submit':
to include a redirect to the checkout page with a null action:
}
zen_redirect(zen_href_link(FILENAME_CHECKOUT, 'fecaction=null', 'SSL'));
break;
case 'submit':
Hope that helps someone, and if anyone has a more elegant solution, I'd be happy to defer to your greater wisdom on the subject.