Re: WorldPay Module for ZenCartv1.3x
Quote:
Originally Posted by
BlushFashions
I have installed worldpay and it is now in test mode.so far so good it was quite straightforward.I have read right through this thread and used the url for callback suggested too.The test works as customers end but stops on worldpay page, doesn't redirect back to site.
I receive an email from worldpay but no email from zencat and no record of any order shows up in my admin?
Anyone able to tell me where I am going wrong?
I am soooooooo near:blink:
I have a client that is experiencing the same thing. Using ZC version 1.3.7(1) with all the latest patches.
He gets confirmation from WorldPay that an order/payment has been processed but does not receive an order confirmation from Zen Cart and there is no record of the order(s) (there is however a record of the item(s) in the shopping cart).
Any help on this is appreciated.
Re: WorldPay Module for ZenCartv1.3x
Clyde,
To answer both yourself and the previous post from Blush Fashions let me first explain how the WorldPay callback works and interacts with ZenCart.
When a customer completes the checkout process they are passed to the WorldPay servers to complete the financial transaction. Once the customer has entered their credit card details WorldPay do a security check with the issuing bank and, if everything is OK they payment is deducted from the customers card account. At this point the callback kicks in and WorldPay tries to run the callback script within the ZenCart WorldPay module.
If this runs OK then basically the order is processed within Zencart. All the items in the customer cart are added to a new order, the customer cart is emptied and the new order appears within the ZenCart Admin. The customer sees the Zenncart 'Checkout Success' screen. Both WorldPay and ZenCart send emails to the customer and merchant confirming the transaction.
If the callback fails for any reason the customer is directed to a WorldPay 'Success' page (which can be customised) and the customer and merchant receive an email from WorldPay. However, since the callback has failed, ie the callback script has not run, the order is not created within Zencart, the customer cart will still contain the items the customer has tried to order and no emails will be sent by Zencart.
This is what appears to be happening at both the Blush Fashions and Mystic Mountain Naturals website.
Why is it happening? There are two reasons why this may be happening.
The first is that the callback url is not available (or doesn't respond quickly enough) when WorldPay initiates the callback. I have tried accessing the Mystic Mountain Naturals website several times this afternoon and it responds very very slowly. I suspect this may be the problem here.
The second is that some hosts appear to use some form of re-direct to point to domains hosted on their servers. I'm no expert on the various configuration options of webservers but usually when someone reports a callback failure they also report a 're-direct' error being reported by WorldPay. For security reasons WorldPay do not allow any form of re-direct within the callback script. If this is the case you will need to contact your host and ask them to remove any re-directs associated with your domain.
Seems like a bit of a cop out but I'm afraid what the above boils down to is that it is a hosting problem. Either the server is too slow or the configuration is not compatible with WorldPay. What I will say is that I have several customers who have been using Zencart and the WorldPay module, hosted on my server, for several years now (over 3000 transactions) and I have only experienced one callback failure in that time. I can't be sure but I think on that occassion the customer took so long processing the transaction (they may have been distracted) with WorldPay that their Zencart login session had timed out and was no longer valid.
I hope this helps. Please post back here if/when you get this issue resolved.
Regards,
Alan
Re: WorldPay Module for ZenCartv1.3x
Quote:
Originally Posted by
duncanad
Clyde,
To answer both yourself and the previous post from Blush Fashions let me first explain how the WorldPay callback works and interacts with ZenCart.
When a customer completes the checkout process they are passed to the WorldPay servers to complete the financial transaction. Once the customer has entered their credit card details WorldPay do a security check with the issuing bank and, if everything is OK they payment is deducted from the customers card account. At this point the callback kicks in and WorldPay tries to run the callback script within the ZenCart WorldPay module.
If this runs OK then basically the order is processed within Zencart. All the items in the customer cart are added to a new order, the customer cart is emptied and the new order appears within the ZenCart Admin. The customer sees the Zenncart 'Checkout Success' screen. Both WorldPay and ZenCart send emails to the customer and merchant confirming the transaction.
If the callback fails for any reason the customer is directed to a WorldPay 'Success' page (which can be customised) and the customer and merchant receive an email from WorldPay. However, since the callback has failed, ie the callback script has not run, the order is not created within Zencart, the customer cart will still contain the items the customer has tried to order and no emails will be sent by Zencart.
This is what appears to be happening at both the Blush Fashions and Mystic Mountain Naturals website.
Why is it happening? There are two reasons why this may be happening.
The first is that the callback url is not available (or doesn't respond quickly enough) when WorldPay initiates the callback. I have tried accessing the Mystic Mountain Naturals website several times this afternoon and it responds very very slowly. I suspect this may be the problem here.
The second is that some hosts appear to use some form of re-direct to point to domains hosted on their servers. I'm no expert on the various configuration options of webservers but usually when someone reports a callback failure they also report a 're-direct' error being reported by WorldPay. For security reasons WorldPay do not allow any form of re-direct within the callback script. If this is the case you will need to contact your host and ask them to remove any re-directs associated with your domain.
Seems like a bit of a cop out but I'm afraid what the above boils down to is that it is a hosting problem. Either the server is too slow or the configuration is not compatible with WorldPay. What I will say is that I have several customers who have been using Zencart and the WorldPay module, hosted on my server, for several years now (over 3000 transactions) and I have only experienced one callback failure in that time. I can't be sure but I think on that occassion the customer took so long processing the transaction (they may have been distracted) with WorldPay that their Zencart login session had timed out and was no longer valid.
I hope this helps. Please post back here if/when you get this issue resolved.
Regards,
Alan
Thanks, Alan.
As I said in my last PM the actual site is http://www.ihdvd.com/.
I'll have the client check with his hosting company about any re-directs they may have in place.
Again Thanks and I'll let you know if we get the issue resolved.
Re: WorldPay Module for ZenCartv1.3x
Quote:
Originally Posted by
clydejones
Thanks, Alan.
As I said in my last PM the actual site is
http://www.ihdvd.com/.
I'll have the client check with his hosting company about any re-directs they may have in place.
Again Thanks and I'll let you know if we get the issue resolved.
Alan,
Thanks again for the information.
I passed everything along to the client and he just informed me that he hadn't enabled the call back in the WorldPay control panel but had now done so.
So I'm hoping that that was the problem and it is now resolved.
I'll let you know.
Best regards.
Re: WorldPay Module for ZenCartv1.3x
Until yesterday everthing was working fine on our latest Zen Cart 1.3.7 shop but since yesterday I also do not get anymore order confirmation e-mails from Zen Cart when an order has been successfully paid through Worldpay.
Users can place an order and go through the Worldpay payment pages flawlessly but when they return to our site an error appears:
Warning: Cannot modify header information - headers already sent by (output started at /home/template_default/public_html/webstore/includes/templates/template_default/common/html_header.php:22) in /home/template_default/public_html/webstore/includes/functions/functions_general.php on line 46
I looked up the problem on 'headers already sent' on the wiki and it said this warning is often caused by a blank space or extra line at the beginning or end of a .php file OR a syntax error or the result of an "echo()" statement
So I checked the html_header.php on line 22 (which I have not changed at all over the last months) :
<html xmlns="http://www.w3.org/1999/xhtml" <?php echo HTML_PARAMS; ?>>
It seems that the echo() statements are giving problems and therefore not confirming the Zen Cart transactions that were successfully paid through Worldpay.
Can you help me to solve this?
Re: WorldPay Module for ZenCartv1.3x
Slitter,
What you are getting is a PHP error which, since you haven't had this previously, would indicate that you have made some change to the code.
The two files mentioned in the error message are not part of the WorldPay module fileset.
The html_header.php file is called by every page in Zencart (I think!) so if there was an error there I would expect you would experience this error elsewhere and not just at checkout.
The functions_general.php file is also a common file which is called as required depending on where you are in Zencart. I would suspect that if there has been a recent change to the code this is where it will be.
Have you added any new modules to your Zencart recently? If so were any changes made to either of these two files?
Regards,
Alan
Re: WorldPay Module for ZenCartv1.3x
Nothing had been changed everything was working fine.
I have other payment modules which work fine.
It just happened after a Worldpay outage on the 10th of july (yesterday) somewhere around 11.00 GMT but the Worldpay helpdesk said that this didn't cause any influence because the error occurs on my server.
I have read the thread: https://www.zen-cart.com/tutorials/index.php?article=87
What happens with <?php echo HTML_PARAMS; ?> in html_header.php?
thanks for helping me out so far
greetings, slitter
Re: WorldPay Module for ZenCartv1.3x
I have been using the Time zone module (for 1.3.7 versions) which allows me to set a time zone offset . I dont know of any global time changes otherwise that could be the problem.
Re: WorldPay Module for ZenCartv1.3x
Solved it by using a backup from a week ago.
thanks,
slitter
Re: WorldPay Module for ZenCartv1.3x
Hello,
I am testing the WP-module. At the "checkout_confirmation"-page, I get the following PHP-error:
"Catchable fatal error: Object of class queryFactoryResult could not be converted to string in D:\domains\wwwroot\includes\functions\functions_general.php on line 660"
I am using PHP5 and guess it has something to do with this version. However, I can not see whether the code in "functions_general.php" should be adjusted or the code whithin the WP-module should be adapted.
Any suggestions?
Thanks in advance for your advice!!!
Best regards,