.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.
$_SESSION['payment'] is only reset during processing if $credit_covers is true, and that happens only when the order-total modules determine that any discounts (coupons, gift certificates, etc) equal or exceed the total purchase price, thus determining that there is no payment required. And in that case the store expects that you also have the freecharger module enabled so that it can catch that 0.00 price scenario and complete checkout without requiring payment.
I see from your var_dump that you have $_SESSION['cc_id'] set, which indicates that the system attempted to process a coupon.
And, you stated later that you don't have freecharger enabled.
Does enabling freecharger help?
.
Zen Cart - putting the dream of business ownership within reach of anyone!
Donate to: DrByte directly or to the Zen Cart team as a whole
Remember: Any code suggestions you see here are merely suggestions. You assume full responsibility for your use of any such suggestions, including any impact ANY alterations you make to your site may have on your PCI compliance.
Furthermore, any advice you see here about PCI matters is merely an opinion, and should not be relied upon as "official". Official PCI information should be obtained from the PCI Security Council directly or from one of their authorized Assessors.
I've been swamped @ work and added a hack to keep things working until I could dig deeper into this. Here's my solution: `session_write_close()` should be called at the end of every page/script. `zen_session_close()` needs to be fixed:
PHP Code:function zen_session_close() {
session_write_close();
}