To begin I would like to thank everyone contributing to this wonderful piece of open-source software.
I have started this thread because I have scoured the internet for a solution to no avail. I can count at least 20+ hours worth of work trying to sort this out, primarly to get my website working correctly, but also to give back to the community I've benefitted so much from. I know I'm not alone with this issue.
To the issue I have:
I am using the "NAB Transact (Hosted Payment Page) Payment Module" found here - http://www.zen-cart.com/index.php?main_page=product_contrib_info&products_id=1198 - to accept payments from NAB Transact on my online store.
It worked perfectly until my server (ventra ip) updated to PHP 5.3. I'm assuming this was the trigger as everything ran well up until this changeover.
I decided to use zencart as I required an online store that would integrate with what my banks online merchant services had to offer.
The problem I'm having is with the server callback from NAB Transact. Their server opens the page "checkout_process.php" with a a "zenid" attached to the end to let zencart know that a payment was successful and to finalise an order.
A quick note, a have another payment module installed " dirbankaus" to handle direct deposit which still works perfectly.
I traced the point it stops working to "if (!$_SESSION['customer_id'])".
I've put some logging code in to check that NAB Transact is still sending ['zenid'] in the url and it is.
an example of the output (the date and time wasn't part of the $_GET):
26th of February 2012 12:33:35 AM - e6733d40df8cab4cd00ab9940ecd2401
So it seems not to be a problem with the payment module, or NAB Transact... but in a way that the "checkout_process.php" is dealing with the '[zenid'].
I am running zencart 1.3.9h. I upgraded 1.50 to see if it solved my problem but it didn't change anything except for exposing my designers flaws in making my sites layout future proof to upgrades. I restored a backup to make things look nice again until this problem is sorted.
I checked the php setting on my server and re-enabled the following:
show_source, passthru, exec, popen, proc_open, allow_url_fopen
I have also tried disabling:
Suhosin
Non of this has made a difference.
I hope that I have provided as much relevant information as possible. Anyone who helps me out (and others) will be eligable for a cold beverage or a sweet vinyl record offering (depending on location).
Cheers.