Yep did the same thing and found reverting back the earlier php fixed it but this is on my system. I'm just suggesting a try it.
Dave G
Printable View
Hi all,
I have got a weird issue here...
The first transaction I make always has callback failure, but do as many as you want to straight afterwards they all go through perfectly. The site is hosted with Godaddy and I'm sure that the problem lies there. Am I correct in saying this or is it a worldpay setting or am I way off the mark.
To me it looks like worldpay and godaddy are taking to long 'shake hands' but once they do its fine... until you 'look away' for too long again.
Has anyone got a similar issue or better resolved something like this?
Don't want to be a pain, but if any knows, it quite urgent.
Thanks,
Jay
Just arrived to post a similar issue to Jay..
I have the Worldpay module debug activated and Be discreet? set to False. WP set to TEST mode.
I make a test transaction and all appears to go well according to the Worldpay pages. I end up sitting at the WP Thankyou page (resultY.html) which says the transaction successful, no money chage hands etc.
I receive 5 emails for that transaction, in order of arrival here:
1. [NEW ORDER] Order Confirmation No: 10
from my Zen Cart shop. All looks OK here.
2. Callback Failure Alert From WorldPay
HTTP status: 500
3. WorldPay CARD TEST transaction confirmation: 134363xxx
Transaction details and then "The above payment has been processed." All looks OK.
4. WorldPay debug from {myshop}.com
Sent from my server: anonymous@...
5. WorldPay debug from {myshop}.com
Sent from my server: anonymous@...
The first 3 emails arrive within a minute.
The last 2 arrive 7 minutes later and are identical apart from small items such as:
4 - [authAmountString] => US$18.87
5 - [authAmountString] => US$18.87
4 - {myshop}.com/index.php?main_page=wp_callback&zenid=hlfgh17uknbo7k576bvr9i9r86
5 - {myshop}.com/index.php?main_page=wp_callback&zenid=hlfgh17uknbo7k576bvr9i9r86
4 - [amountString] => US$18.87
5 - [amountString] => US$18.87
4 - [cartID] => 05674 (values in array are as per the order)
5 - [cartID] => (values empty/0)
Order details look ok in the database (orders and worldpay_payments tables) and in the customer's order details page.
Anybody any idea as to why I am getting the 500 error?
Thanks in advance,
Gav
ZC 1.3.9
hey Gav, who you hosted with?
If I recall (just double check), I think your 500 error may do with something regarding PHP upgrade and sessions or cookies turned to false... Just something that came to mind.
jay
Jay,
sorry for the delayed response. Juggling too many things right now.
I did come across a few mentions of the effect that PHP upgrades have on Zen Cart, due to the later PHP versions having session.use_only_cookies set to off by default. This is said to be more secure, but I couldn't get callbacks to work at all, so had to switch it off after moving server. I do plan to investigate how to run Zen cart with the directive set to on, but haven't had time yet.
Hosting on a dedicated linux server, so can do what I need when I find out what to do.
I will post as I discover...
Cheers,
Gav
What is the default behaviour of the Worldpay module?
I have several problems in my effort to get the Worldpay module running in Zen Cart 1.3.9. I realised that I don't actually have any idea what it should do "out of the box" so to speak, so this makes it more difficult to tell whether there is an actual problem or if I just need to configure it properly.
One thing that would be very helpful would be to know whether there is a default Customer Response page? In other words, if I log into my Worldpay control panel and set it as follows, should I automatically see a Customer Response page on completion of the transaction? Or do I have to create one from scratch and insert a placeholder in it for all of WP's transaction report content?
Attachment 11051
My settings in the TEST integration page.
The callback behaves as follows with these settings:
- I get the correct data stored in the worldpay_payments db table.
- I do get a Callback Failure Alert (HTTP status: 500) email with every completed transaction, even though I also get all the other confirmation emails to both admin and shopper.
- I don't get a Customer Response page.
- I do see a default resultY.html page.
- I also get a modified resultY.html page OK.
Any suggestions as to my next steps for getting a Customer Response page?
Finally, is there anybody out there? (other than Jay). I get the impression that this Worldpay module is not being used much now and not supported.
Hi all,
I've read numerous posts and tried numerous times to amend the code in the worldpay module from the plugins page and can't get this to work. I know its no longer updated as the developer has now gone, what my question is, is there any other payment addon that would allow us to work with worldpay?
I've looked about and can't find one, however my employer will only work with worldpay so I'm in a catch 21 situation. I've applied for help on oDesk as I'm willing to pay a reasonable fee (even out of my own pocket) in order to get a payment mod that will work. However, oDesk doesn't seem to have anybody that can help.
The current stage i'm at is updating from v1.3.9h to v1.5.1 and aiming to become PCI compliant by switching from ceon manual card to worldpay. I have installed the worldpay mod and followed the instructions to configure it and attempted to update some of the code myself (i'm fairly good with php but some of this code loses me!). I can process a test transaction successfully however, I get a http: 302 error when trying to get a payment response page appear. This wouldn't be such an issue if zen cart recorded the order has been placed and payment taken, however it doesn't but the payment is still taken. I've tried turning on the debug email setting, which unforuntately sends nothing unless a payment response page has been generated. I've also turned off the be discreet option which does offer up a debug email in the form of 'Password Failure'. I've double & triple checked passwords are identical both at worldpay and in the module, along with the md5 requirement is switched on and matches also.
If anyone on here can help I'm willing to put time in to configure the code and also some money. Then if by some miracle we can get one working, I'll happily offer it up on the addons page (subject to any approval needed by ZC plugin moderators).
Hi all,
I've just posted a new thread asking for help in updating this module to work with v151. I'm willing to offer some money towards the help as its the only payment gateway my employer wants to use. I've got everything working except the payment response gives a 302 password failure error, even though the passwords have all been set and are identical across both the zencart module and worldpay themselves.
See above.
Try using test1 as the password in the zencart side of the setup for worldpay the worldpay test side does alot of weird things at times like using a password of it's choice which will show up in the debug email. I've had this module running on zencart 1.3.7.1, 1.3.8a and 1.3.9h. Also do not use the copy to production button in the test side of worldpay it always messes up the passwords. Try also setting it to LIVE go to worldpay but cancel the order and it should return you to your site, send a debug and log it in the worldpay payment under customers. The only thing i have had to change in the code is a bit that had a problem with php 5.3 but it didn't effect the functionality.
Here is a PHP 5.3 specific error you will get in this module. If you see this in Customers> Worldpay Payments
Warning: number_format() expects parameter 1 to be double, string given in /home/xxxxx/public_html/admin/worldpay_response.php on line 141
The fix is go to line 141 in admin/worldpay_response.php and change
This
<td class="dataTableContent" align="right"><?php echo $wp_response->fields['REQUEST']['authCurrency'] . ' '.number_format($wp_response->fields['REQUEST']['authAmount'], 2); ?></td>
To This
<td class="dataTableContent" align="right"><?php echo $wp_response->fields['REQUEST']['authCurrency'] . ' '.number_format((double)$wp_response->fields['REQUEST']['authAmount'], 2); ?></td>
I really don't understand why adding (double) works - maybe someone can explain :unsure: All i know is that on PHP 5.2 everything works ok but change to PHP 5.3 and it throws this error but otherwise the module works fine for transactions.
This is tested and running on 1.3.9h in PHP 5.3.
If your using Worldpay you are outsourceing the payment processing and your site never comes into contact with any credit card data so your site doesn't need to be PCI DSS compliant but your payment gateway does and that is worldpay but you do need to do a PCI DSS self assessment through worldpay.