I have just posted a job on ODesk to try and find someone who will fix the module. Obviously I will have to pay them as the module writer hasn't responded to my emails.
I have just posted a job on ODesk to try and find someone who will fix the module. Obviously I will have to pay them as the module writer hasn't responded to my emails.
cool well let me know if it works out and I'll be happy to contribute.
thanks, will keep you posted.
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?ma...oducts_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.
I've done a whole bunch of investigative work to find a solution.
The result isn't a solution, but a new thread detailing my findings.
http://www.zen-cart.com/forum/showth...29#post1106929
Cheers.
I've hired someone through ODesk to fix the module for me. He is working directly on my website to fix the problem. I don't have much hope that I will understand what he does, as I really have no idea about all that module stuff. But if it is successful I will pass on his details or whether he can send me the module in a zip file once it is fixed.
I worked it out.
init_sessions.php wasn't recreating the session for the NAB Server.
the NAB Server seems to be only sending the 'zenid' via _GET (in the url). The code below only accepts the 'zenid' via _GET if you are using SSL. I am not.
Now I assume that is the case for a security reason. How bad would it be to bypass the SSL requirement?PHP Code:/**
* set the session ID if it exists
*/
if (isset($_POST[zen_session_name()])) {
zen_session_id($_POST[zen_session_name()]);
} elseif ( ($request_type == 'SSL') && isset($_GET[zen_session_name()]) ) {
zen_session_id($_GET[zen_session_name()]);
}
I am going to have a look and see if NAB Transact tries to send it via _POST also... maybe some new security setting on my host is blocking the _POST 'zenid'.
It still makes no sense to me :) It might as well be in another language. I have always paid someone to do all that for me.
Did anyone find an answer to this issue. My cart had been working for 12 months using the nab module without any issues then all of a sudden on December 3, 2012 the orders stopped being processed in Admin after payment through nab. I have hunted everywhere to find a solution, but have come up empty.
Bookmarks