Thanks..... I'm blushing!!
I did not have this problem either until I upgraded my shop from 1.2.6 to 1.3.6.
Oh well....
Printable View
Thanks..... I'm blushing!!
I did not have this problem either until I upgraded my shop from 1.2.6 to 1.3.6.
Oh well....
really!!! well well well - what I might do is start a new thread with a title that is easier search upon and then direct to the answer - as 11 pages to trawl through to find the "" answer when the last few comments were about 1.3.6 being not supported ;)
blush away - you deserve it I was panicking!
I am also having the problem where coupon of any type send you directly to the order success page. argh. It seems that a few people have had this issue and I am still searching for a solution in the forums...
finius_lyn
I haven't experienced this problem. My test set up is currently running on ZenCat v 1.3.5
First of all - check the obvious.
If the coupon is equal to, or greater than, the total order value you will quite correctly be taken to the 'Checkout Success' page on confirming the order - no further payment will be required.
Second - this is not likely to be a WorldPay Module issue since the module doesn't test to see if a coupon is being used. Coupons are handled by the Order Totals Modules. You should check these are installed and configured correctly.
To investigate further I need some more information from you as follows:
What version of ZenCart are you running?
Are you using a Discount Coupon or a Gift Certificate?
What is the value of the Discount Coupon/Gift Certificate.
If a Discount Coupon is this value in currency or percentage?
Regards,
Alan
you are correct that it is not a worldpay module issue. It seems to be coming from another spot that i can't seem to locate just yet.
1.3.5 is my zen install
discount coupons cause the issue
the value doesn't seem to matter as I have tested several different values
I found the issue using a % discount (5, 10,15 and 20% have been tested - all give the same error).
Thanks!
i have worldpay for 2 of my sites, both 1.3.6 but for some reason one works with the worldpay.php inside includes/languages/english/modules/payment/my_template and on another site i get error when i put it inside my_template:
Warning: main(/home/yabycosm/public_html/shop/includes/languages/english/modules/payment/worldpay.php) [function.main]: failed to open stream: No such file or directory in /home/yabycosm/public_html/shop/admin/modules.php on line 174
Warning: main() [function.include]: Failed opening '/home/yabycosm/public_html/shop/includes/languages/english/modules/payment/worldpay.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/yabycosm/public_html/shop/admin/modules.php on line 174
does anyone know howcome it doesn't work when i put it inside /my_template?
Hello Alan,
I have installed the Worldpay module with no problem at all. I am changing my site host so the new site is currently off-line, but I have been using Worldpay for a couple of years.
When I go the Worldpay admin screen to enter the call back URL I notice that my old (CGI) cart has a very defined URL. In your intructions you say to enter http://<wpdisplay item="MC_callback"> with no domain name, page name or anything. Am I reading this correctly.
A Novice Zenner,
Keith :bored:
Thanks for the PM Alan. I'll let you know when I successfully test it out.
Keith
hi there
im wondering if anyone else has come across this problem when using the worldpay module...
a few weeks ago i had zencart 1.3.6 all set up using the excellent worldpay
module - everything was dandy...
and then...
my host decided to upgrade php to version 5.2, which broke a fair bit of my site forcing me to upgrade the zen installation to 1.3.7 to work around the problems. after sorting out the upgrade and making sure everything was working again i realised that worldpay was no longer functioning correctly...
the odd thing is that in transaction more 100 and 101 everything appears to work as expected, but as soon as i make it live i get the following message from worldpay:
i have since confirmed with worldpay that my account/installation id is active, and tried reinstalling the worldpay module with no success.Code:Secure Payment Page
Sorry, there was an error in processing this transaction:
The information sent from the merchant's site is invalid or incomplete.
Please send the following information to the merchant:
The transaction cannot be processed due to one or more of the following:
- the merchant account is suspended
- the currency you selected is not supported
- the authorisation mode is incorrect
- test mode is unavailable
- the installation is not live
has anyone seen anything like this?
i noticed that Rikki posted a similar problem earlier in this thread but seems to have solved it; any ideas anyone?
many many thanks
this has been a long night!
since i last posted i have downgraded zencart to 1.3.6 (the version i originally clean installed) and php to version 4.4.4 which should have put me back where i was before (although i must say im not sure what version of php i was running before i had these problems - pretty sure it was 5.x.x though)
thing is i have exactly the same issue as before, and i have totally run out of ideas...
everything works as it should in both test modes (100 or 101) but as soon as i make the installation live (0) i get the error i posted above.
someone please help! im drowning in square brackets, semicolons and question marks!
I seem to be getting the same error anyone know how to fix this problem ??
Subb,
There have been problems with differentt versions of PHP which are not quite as you describe but this post might give you a starting point as to where the problem may lie.
http://www.zen-cart.com/forum/showpo...0&postcount=41
Personally I have not tried running ZenCart on PHP 5x. The last time I looked PHP 5 is not officially supported - although I believe some run Zencart successfully on PHP 5. Anyway PHP 5 is coming eventually so it would be better to understand and fix this issue sooner rather than later.
Let me know if this helps.
Alan
Oooops!!!
Broken link - here it is:
http://www.zen-cart.com/forum/showpo...0&postcount=41
Alan
Still not working for me, im running zen cart 1.3.7 and php v5
hi alan
thanks very much for your help.
unfortunately i have tried the changes you suggest with no change in the outcome.
since this problem started i have downgraded to php 4.4.4 and zencart 1.3.6 and although all of the php 5.2 issues have gone, this worldpay problem still happens.
as i mentioned before everything works as it should in either test mode, just when the installation is live i get the error message when the user is transferred to worldpay.
i know this seems like a dead end, but your help is very much appreciated!
cheers
Subb,
What changes did you make exactly. I may have confused things a little by posting a link to an explanation of a possible cause of the problem rather than the full solution. A more full explanation of the solution can be found here:
http://www.zen-cart.com/forum/showpo...4&postcount=32
If you are still having difficulties I will need answers to the following:
What exactly happens when you are transferred to WorldPay in Live mode?
Do you get the error message right away or do you get to enter your credit card details and the transaction fails?
Do you successfully complete the transaction and the callback fails?
Is there a record of the transaction in the WorldPay control panel?
Alan
alan, im so sorry to have wasted your time mate
i just spoke to worldpay again and this time found out that they have been having issues of some sort, which is why the account wasnt activated even though they sent out an activation email!
well, thanks so much for your time, and fingers crossed that everything else will work as expected!
cheers mate
Subb,
No problem - just glad you've got things working.
Alan
When trying to checkout using the latest version of world pay, I get
Catchable fatal error: Object of class queryFactoryResult could not be converted to string in
A bit odd!
PHP Version: 5.2.0 (Zend: 2.2.0)
Database: MySQL 4.1.21-standard-log
HTTP Server: Apache/1.3.37 (Unix) mod_fastcgi/2.4.2 mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a PHP-CGI/0.1b
Zen Cart 1.3.7
Database Patch Level: 1.3.7
OK, that was my problem, now running PHP Version 4.4.4.
I've tried the fix mention a few up by changing
if(isset($HTTP_POST_VARS['transId'])) {$transId = $HTTP_POST_VARS[transId];}
to
if(isset($_POST['transId'])) {$transId = $_POST[transId];}
but again, no luck. I just get the
screen again.Code:Sorry, there was an error in processing this transaction:
The information sent from the merchant's site is invalid or incomplete. Please send the following information to the merchant:
The transaction cannot be processed due to one or more of the following:
* the installation ID field is blank or contains invalid characters
* a different submission protocol is required. For instance, a more secure submission may be required
* the installation number is invalid
We have completely changed the URL and server we operate from (which is listed in the config) but Worldpay say this doesn't matter, as long as Callback is working.
Kelvyn,
Sometimes talking a problem over with someone helps - even when it's just with yourself! ;-)
Glad you got it sorted - and your posts should help others avoid the same issue.
Alan
We're trying to decide whether to stick with Worldpay - their fees are outrageous compared to Paypal. So as not to drag this topic off topic, please don't reply here, but visit this thread if you have a Worldpay account and can tell me WHY!
kelvyn,
I've replied here because the way I read the other thread is that the poor guy, who originally posted way back in June of last year, was actually asking if there was a WorlPay module. Unfortunately no one directed him here! Perhaps you should start a completely new thread to discuss the relative merits of the various payment gateways available.
Notes in the install.txt included as part of the WorldPay module point to this website:
http://www.electronic-payments.co.uk
It gives an impartial and pretty comprehensive guide to ecommerce and the various payment gateways available to UK based businesses.
The short answer to your question is that PayPal is a peer to peer payment gateway - both the buyer and seller must have PayPal accounts. If your potential customers do not have a PayPal account they will be required to open one. You must decide if this would present a barrier to potential customers completing a sale on your site - businesses, for example, are unlikely to want to open a PayPal account. WorldPay is a business to business or business to consumer payment gateway. Only the merchant has a WorldPay account.
As to costs, yes, WorldPay is more expensve than PayPal so you must pay your money and make your choice. The above site has a gateway cost comparison tool - requires free registration with the site to use it.
I would recommend anyone to visit the above site BEFORE making a decision as to which payment gateway to adopt. You may find that the best option for your business is neither PayPal nor WorldPay.
Alan
Thanks for the comprehensive reply, but whoah! Slow down there, tiger! Where you getting that from? We've accepted card transactions from non-Paypal accounts - in fact, it says here:
Quote:
Website Payments Standard: Overview
The easy way to get paid.
Accept credit cards online, plus bank transfers, PayPal, and more. Website Payments Standard is:
* Fast. There’s no lengthy approval process and no shopping cart needed. Start accepting payments today.
* Easy. Customers shop on your website and pay you on PayPal. They don’t even need a PayPal account.
Kelvyn,
Sorry - your right! That is a recent change at PayPal and may make them a more attractive proposition. It may take a while to overcome their current peer to peer image 'though.
Anyway - thanks for putting me right on that - every day is a school day!
I'm not saying one is better than the other. What I am saying is that it is horses for courses. It is for each Merchant to do his own research and make his own decision. The website I mentioned above is a great place to start researching.
Regards,
Alan
i have tested world pay on my site, when on tested mode is the order that im testing meant to come up in the admin area because i have an email say the order is confirmed but nothing in the admin section is this right or is it bugged.
Still havent tested it live yet tho because world hasnt activated the account yet
bean_2k1
In test mode the WorldPay module should work exactly as a live transaction with the exception that there is an added 'This is a test transaction - no money has changed hands' message.
On completion of a test transaction you should be transferred back from the WorldPay website to your store where you should see the 'Checkout Success' page. If you see this page the WorldPay callback has been successful and a new order will have been created in your store database which you will be able to access via the store admin.
You should now receive 4 emails, one each, as the customer, from Worldpay and your ZenCart store and one each, as the store owner, again from WorldPay and your store.
When you log into your WorldPay account you should be able to see the transactiion in your 'Test' account.
If one or any of the above does not happen then something is wrong and you are not ready to go live.
If all is not well the first thing to do is to check all of your settings both in the ZenCart admin and in the WorldPay control panel. If things are still not OK you will need to explain exactly what is happening.
I have a test site at rcm.testingit.net which is linked in test mode to my WorldPay test account. Make a purchase on this site using visa card no 4111111111111111 and you will see how it should work from the customer's perspective.
Hope this helps,
Alan
One the transtation is complete on the testing settings 100 it bring me back to the my website saying
... your payment has been cancelled!
Response from WorldPay:
This is a TEST TRANSACTION. No money has changed hands
Your payment has been cancelled. Please contact us for alternative methods of payment. If you have experienced any problems with your payment please contact WorldPay immediately.
Our ref:
You will find WorldPay contact information here
But when i login in to my admin there is no orders in there at all
If anyone else has this problems
try this out http://www.zen-cart.com/forum/showpo...0&postcount=41
It was becuase i was running the new version of php5 it had some issues
Now why didn't you say so in the first place?
If the the payment has been 'Cancelled' the WorldPay module quite correctly does not create the order which is why you don't see it in Admin.
That the module thinks the payment has been cancelled for some reason is your real problem. This has been discussed in depth in previous posts. The following should get you on the right track:
http://www.zen-cart.com/forum/showpo...6&postcount=76
http://www.zen-cart.com/forum/showpo...7&postcount=77
Please post back here which solution solves your problem (or if none of them do).
Regards,
Alan
bean_2k1,
Ooops - I see you found the solution yourself just as I was posting.
Well done. Glad you got it sorted.
Alan
Where can I find a copy to download?
It's available from Downloads!
Alan
i have had my first customer today on my store, i noticed a problem when worldpay return me to my shopping screen. at the moment worldpay contrib is set to live and all the payments have gone though correctly but when the customer is returned to my shop it still comes up "This is a TEST TRANSACTION. No money has changed hands" even tho the money has gone in too our account
Anyone know how to fix this
Also the ref code 26 letters long is there anyway i can shorten this to about 10 letters ?
Thanks Steven
bean_2k1
Just add quotes!
See:
http://www.zen-cart.com/forum/showpo...6&postcount=63
The ref is actually the Zen cart ID so it is what it is. WorldPay also store this ID in the transaction record so it acts as a cross reference between you and WorldPay so I'm afraid you are stuck with it.
There has been some discussion about cross referencing earlier in this thread.
Hope this helps.
Alan
Remember my post nr.76 in this thread.
I had a problem with the worldpay module, that we can fix. Until yesterday, worldpay works fine for me.
Now I get an error message. When trying to checkout using the latest version of world pay, I get the following error.
Catchable fatal error: Object of class queryFactoryResult could not be converted to string in /xx/htdocs/xxxxx/www/shop-neu/includes/functions/functions_general.php
on line 668
I didnīt make a change in Zen Cart but my provider updated PHP from version: 5.1.5 to 5.2.1
Could this be a problem? I use Zen 1.36.
Any idea how I can fix the problem?
Unifex,
If the only thing that has changed is the version of PHP then this must be the prime suspect.
The error message is telling you that the problem is occuring when the script tries to determine the currency to use in
..../includes/functions/functions_general.php
This is a core file that has not been amended in any way by the WorldPay mod although the Wordpay mod requires the session currency in order to pass the transaction over to WorldPay.
My understanding is that Zencart on PHP 5 is not currently supported but there are those who are successfully running Zencart on PHP5. It might be an idea to look for a thread on using PHP5 and raise this issue there. If (when) you do find a solution please post back here to assist others.
Regards,
Alan
I have just finished settign up my new Zen cart install
I am useign the latest version of Zen, Chemos SEO Url's and the latest? worldpay module.
When trying to test the system the Worldpay module is unable to receive the call back. (http://www.mydomain/wpcallback.html)
here is the error from worldpay
Our systems have detected that your callback has failed.
This callback failure means we were unable to pass information to your server about the following transaction:
Transaction ID: 235892914
Cart ID: 0541f55946a7063f163b420d8bc8d3b2
Installation ID: ********
Error reported: Callback to
http://www.mydomain/wpcallback.html?...6a7063f163b420
d8bc8d3b2: NOT OK, recevied HTTP status: 302
Server Reference: mggaeq3a:callbackFailureEmail-21077742:MerchReq-806
here is the servers response to the callback
Set-Cookie: cookie_test=please_accept_for_session; expires=Sat, 12 May 2007 16:17:43 GMT; path=/; domain=www.mydomain
Location: http://www.mydomain/time_out.html
Connection: close
I have tried hard-wiring the URL into the worldpay Cpanel, turning SEO URL's off
and now haven't got a clue where to go from there.
Please advise
dasonix,
There is no such file as 'wpcallback.html'Quote:
In your WorldPay account you should set the Callback URL to:
'MC_callback' is set by the WorldPay Module and passed to WorldPay so that WorldPay knows where to send the response. In this way several sites can use the same WorldPay account for payment processing. There is no need to set this to anything else.Code:http://<wpdisplay item="MC_callback">
I would suspect that SEO URLs is the problem - I have not tested the WorldPay module with this contribution. Perhaps you could try uninstalling this contribution. If that doesn't work it may be a problem with your server configuration.
Regards,
Alan
wpcallback.html is what the seo mod turns the file into. (this is what the callback is told to contact when wp is set to http://<wpdisplay item="MC_callback">
Even when the SEO mod is turned off the problem still exists.
Server config would not be the issue as I have been runnign OSC with the worldpay mod for over 2 years without a problem. my osc also had the same SEO mod installed.
even if i change the http: to https: for
http://<wpdisplay item="MC_callback">
and direct url its still doing it.
Could it just be a redirect issue? as the SEO mod redirects all calls for PHP to the equivelent HTML file ?
Is there a way to drop the callback file into the root (like in OSC )as a php file? so it can be directly called
here is server info for you
HTTP Server: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.8a PHP-CGI/0.1b
PHP ver is 4.4.4
MySQL 4.1.21-standard
dasonix,
Have you tried completely removing SEO URLs? I would advise getting things working without the SEO mod installed before going any further.
I'm not familiar with the SEO mod so I cannot comment on how it does or should work. I believe that there are other contributions which do not work with this mod - e.g. Admin Profiles.
MC_callback is equivalent to the following URL
Two things to note:Code:www.mydomain.com/index.php?main_page=wpcallback&zenid=dirtylongalphanumeric
1. Although the ZenCart WorldPay module is based on the OSC module it differs in the way it responds to the callback response from WorldPay. The original OSC module returned the customer to a 'Checkout Success' page requiring the customer either to click on a link or not close the browser window for at least 10 seconds to allow an auto re-direct to kick in and for the order creation process to be completed. If the customer on seeing the 'Success' message simply closed the browser then the order would not be created and, as far as the merchant is concerned, lost even though WorldPay had debited the customer's card.
The ZenCart WorldPay module does the required processing to complete the order before displaying the 'Success' message which eliminates this problem. Because there is some code involved the callback URL cannot be to a .html file.
2. Although ZenCart itself is derived from OSC the two projects diverged some years ago. I cannot speak for OSC but ZenCart has developed considerably since then and I would be surprised if there are not by now some fairly fundamental differences between the two sets of code which may well render any comparison on how a module might work in either pretty meaningless.
I know that some have had problems with the WorldPay module where their server is set up with any sort of re-direct arrangement hence my comment about there perhaps being a server issue. I understand WorldPay treat re-directs with suspicion and refuses to complete the callback. This may be also an issue with the SEO URLs mod.
If, after you have removed the SEO mod, you are still getting errors please post details here and I will try to assist you as best I can.
Regards,
Alan
I have now totaly removed the SEO mod (even the .htaccess)
Have set the WP cpanel back to recomended default as above(exept changed the http to https as its a secure server), and yet everything it sends the callback to the timeout page?
this is where it is calling back to with all defaults in place
https://www.bunnybasics.net/index.ph...b6aba78cae2e5:
NOT OK, recevied HTTP status: 302
Server Reference: mggaeq4a:callbackFailureEmail-21117016:MerchReq-231
this is what our server is responding to the call back
HTTP/1.1 302
Date: Thu, 12 Apr 2007 21:41:35 GMT
Server: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2
mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.8a
PHP-CGI/0.1b
X-Powered-By: PHP/4.4.4
Set-Cookie: cookie_test=please_accept_for_session; expires=Sat, 12 May 2007 21:41:35
GMT; path=/; domain=www.bunnybasics.net
Location: https://www.bunnybasics.net/index.ph..._page=time_out
Connection: close
Content-Type: text/html; charset=iso-8859-1
could this be the problem??????? just a hunch
snip from WP request to our server: MC_callback=www.bunnybasics.net%2Findex.php%3Fmain_page%3Dwpcallback%26zenid %3Db8800ed16c5bc42cb2091f3276c7a187
actual string sent in URL to server
zenid=3Db8800ed16c5bc42cb2091f3276c7a187
could it be the way the string is formated?
the actual server responce for this transaction is as above
please help as its driveing me nuts
dasonix,
http 302 error means that the server thinks your URL has been temporarily re-directed to another URL. Any reason why that might be?
Have you tried
http://<wpdisplay item="MC_callback">
rather than
https://<wpdisplay item="MC_callback">
From memory I think you may have to make a change in the code to use https:// but I may be wrong - and it may depend on how your secure server is set up.
Let me know if this makes any difference.
Regards,
Alan
dasonix,
I've just checked and if you set the callback URL to:
you must also make a change inCode:https://<wpdisplay item="MC_callback">
includes/modules/payment.worldpay.php at line 129
from:
to:Code:$worldpay_callback = explode('http://', $callback_url);
Hope this helps,Code:$worldpay_callback = explode('https://', $callback_url);
Alan
I will give it a go and get back to you ASAP, thank you
nope still wont work :(
Ill keep trying though, Ill take off HTTPS settigns now and try it as non secure and see how I get on
OK latest update, I disabled SSL on site and restored all WP settings back to default, tested everything once again and still the same, all hangs on the WP conf page and callback error.
any ideas ppl
Dasonix,
I'm not sure you have the same problem - you seem to be running PHP 4.4 which to my understanding should not be an issue but have a look at this post:
http://www.zen-cart.com/forum/showpo...4&postcount=32
and at this post as to why this may be an issue:
http://www.zen-cart.com/forum/showpo...0&postcount=41
I really need to get round to updating the download files to take care of a couple of known issues that keep arising here. This one I'm not sure how to handle since the solution is dependent upon the version of PHP installed. I think I should probably go for the fix that works on newer versions and include a note for those with versions pre 4.1.
If this doesn't work could you post all your settings in both the Zencart admin and the WorldPay CP. Also a complete copy of the callback failure email from Worldpay.
Regards,
Alan
Ill get back to you ASAP with the results of these fixes.
and see where we can go from there.
Ok we are getting somewhere after that lead.
I actually had the result page show up on our website, but saying that the transaction was cancelled, only once though
Ill test more over he weekend and see how i get on as i want to try it with everything turned off again (seo mod, SSL etc) then Ill get back to you with full results
dasonix,
You may need the 'just add quotes' fix as well.
http://www.zen-cart.com/forum/showpo...6&postcount=63
Glad you are making progress.
Regards,
Alan
Just to clarify the code for secure and non-secure callback.
For non-secure callback in the WorldPay control panel set the callback url to:
and in includes/modules/payment/worldpay.php at lines 128 and 129 the code should be:Code:http://<wpdisplay item="MC_callback">
For secure callback in the WorldPay control panel set the callback url to:Code:$callback_url = zen_href_link(FILENAME_WPCALLBACK, $zenId);
$worldpay_callback = explode('http://', $callback_url);
and in includes/modules/payment/worldpay.php at lines 128 and 129 the code should be:Code:https://<wpdisplay item="MC_callback">
Sorry for any confusion my previous post on this may have caused.Code:$callback_url = zen_href_link(FILENAME_WPCALLBACK, $zenId, 'SSL');
$worldpay_callback = explode('https://', $callback_url);
Alan
This is where I have got to.
All systems striped back to STD (no SEO mod, All in HTTP mode) following recommended mods done
if(isset($_POST['transId'])) {$transId = $_POST[transId];}
if(isset($_POST['transStatus'])) {$transStatus = $_POST[transStatus];}
if(isset($_POST['cartId'])) {$cartId = $_POST[cartId];}
if(isset($_POST['name'])) {$name = $_POST[name];}
if(isset($_POST['address'])) {$address = $_POST[address];}
if(isset($_POST['postcode'])) {$postcode = $_POST[postcode];}
if(isset($_POST['country'])) {$country = $_POST[country];}
if(isset($_POST['tel'])) {$tel = $_POST[tel];}
if(isset($_POST['email'])) {$email = $_POST[email];}
if(isset($_POST['authAmountString'])) {$authAmountString = $_POST[authAmountString];}
if(isset($_POST['cardType'])) {$cardType = $_POST[cardType];}
if(isset($_POST['testMode'])) {$testMode = $_POST[testMode];}
if($transStatus == "Y")
$worldpay_callback = explode('http://', $callback_url);
if ($testMode !== "0") {echo WP_TEST_HEADING . "<br /><br />";} x2
RESULT = CALLBACK FAIL (WP Cpanel callback disabled + callback fail counter +1) Emails as below
Our systems have detected that your callback has failed.
This callback failure means we were unable to pass information
to your server about the following transaction:
Transaction ID: 236225406
Cart ID: d9b79c65698a6b7c9de440611f2d2f15
Installation ID: ******
Error reported: Callback to
http://www.bunnybasics.net/index.php...440611f2d2f15:
NOT OK, recevied HTTP status: 302
Server Reference: mggaeq4a:callbackFailureEmail-21248837:MerchReq-353
Also, if you usually return a response page for us to display to the Shopper
within the time allowed (1 minute), this will not have been displayed.
WorldPay will have displayed to the Shopper the response page file
(resultY.html or resultC.html) held for your installation on the WorldPay
server. This will be your own custom version, if you have supplied one, or,
if not, the WorldPay default version.
REQUEST.TXT File + RESPONCE.TXT attached
NEXT TEST
All above mods done with system is HTTPS mode
RESULT Callback fail stops at WP conf page (NO Counter +1 in WP CPANEL and NO E-mails) page output as below
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]This was NOT a live transaction - no money has changed hands[/FONT] [FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Thank you, your payment was successful[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Merchant's Reference: [/FONT][FONT=Courier]d9b79c65698a6b7c9de440611f2d2f15[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]WorldPay Transaction ID: [/FONT][FONT=Courier]236226274[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Please contact WorldPay immediately if there has been a problem making your payment.[/FONT]
NEXT TEST
if($transStatus == "Y") set to if($transStatus == "")
RESULT SAME AS ABOVE, no increase in fail count, no e-mails ref fail
cart stops at select.worldpay.com with result below
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]This was NOT a live transaction - no money has changed hands[/FONT] [FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Thank you, your payment was successful[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Merchant's Reference: [/FONT][FONT=Courier]c07d9e51794e58a133af01696089fe7d[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]WorldPay Transaction ID: [/FONT][FONT=Courier]236228644[/FONT]
[FONT=Verdana,Geneva,Arial,Helvetica,Sans-Serif]Please contact WorldPay immediately if there has been a problem making your payment.[/FONT]
Where do we now go from here?
Have you got an URL where I can put through a test transaction to see what is happening - PM me if you would rather not post.
I did try on your site but the WorldPay module is not enabled at present. Perhaps you have a test site I can access.
The second set of test results shows that the callback is being successful.
As customer you should have got an email from both WorldPay and your store.
As Merchant you should also have received an email from both.
The order should also have appeared in Admin.
In /includes/templates/template_default/templates/tpl_wpcallback_default.php you should not change this code:
In /includes/modules/payment/worldpay.php for non-secure callback leave as is i.e. lines 128 and 129:Code:if($transStatus == "Y")
For secure callback these lines should be changed to:Code:$callback_url = zen_href_link(FILENAME_WPCALLBACK, $zenId);
$worldpay_callback = explode('http://', $callback_url);
Of course the setting for the callback URL in the WorldPay control panel should be either 'http://...' or 'https://...' as appropriate.Code:$callback_url = zen_href_link(FILENAME_WPCALLBACK, $zenId, 'SSL');
$worldpay_callback = explode('https://', $callback_url);
I think you are almost there so keep at it.
Alan
will have to leave this until tonight, as everythign is going wrong today. I will PM you
Duncan, I have now changed gateways as Worldpay was costing tooooo much to run, I have changed to Protx VSP Direct v2.0.0 and all worked right first time.
If you still want to use my system to debug/test that is cool I'll copy the shop to a new domain so you can play. Let me know
The module works really well thanks for the hard work.
I read earlier in this thread that you can not check the Worldpay transaction ID on the admin order page..
You explained that it would be necessary to change things such that the WorldPay Transaction ID is stored in the ZenCart database and displayed within the 'Orders' page in ZenCart Admin. A task for a future version of the WorldPay module.
Any idea if this is going to be implemented soon?
For now it would be handy to have the worldpay purchase transaction number for cross-reference in the subject line in the store cconfirmation e-mail.
Any idea how can I implement this ?
cheers,
Marco
for PHP 5.2 people and error message see if this helps - thread
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.
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.
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.
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?
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
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
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.
Solved it by using a backup from a week ago.
thanks,
slitter
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,
Hello,
The following URL helped me out:
http://www.zen-cart.com/forum/showthread.php?p=384852
So it seems a WP <--> PHP-5 problem???
Best regards!
Hello
I've had the problem in functions_general.php and got round it thanks to the post above.
However I'm now getting the same error in /includes/modules/payment/worldpay.php on line 153 which is as follows;
Any ideas anybody?PHP Code:
$md5_signature = MODULE_PAYMENT_WORLDPAY_MD5KEY . ':'.$OrderAmt.':' . $language_code . ':' . $order->customer['email_address'];
Thanks
Andy
Worldpay are upgrading / changing something for worldpay customers soon , do you think it will have any impact on us ?
If so is someone available to make the changes needed .
Or are we all uncertain of the changes and awaiting worldpay's advice ont he 15th October ?
Some info here http://www.worldpay.com/support/upgrade/home.php
Hi all.
I have installed this, and my client already has a live WP acount, though I have setup the Zen side to test only, and I have a few questions I need help with if possible.
1. What is the actual calback url I need to put into worldpay?
2. Can the Cart ID be a little friendlier than 2cc701ba65919e5b3da2e0ee534133a9 at all.
Thanks in advance.
ok I figured out the callback URL is and also what needs to be enabledd at WP for the callback to work, and assume this information is correct
Callback URL: http://<wpdisplay item="MC_callback">
Callback Enabled: box ticked
Use callback response? : box ticked
Attach callback data to failure email? : box ticked
However, when using the module in test mode, I go through the checkout process, into WP, and the transaction is made without issue however I do not at any time rerturn to the Zencart.
I cant figure out why this is not happening.
I believe my host is using PHP5, however the one it will be installed on is PHP4, so if I am using PHP5 is their anything I ned to do.
I have tried replacing the parts as per ref in this thread a ways back, but it had no effect.
I dont seem to get any error message or error email telling me the calback has failed, it just simply does nothing, and the cart shows the product still in my basket and no order has been received in the cart.
Please help , thanks in advance
Alan - you are very patient person! - i've just read through all the posts in this thread and see that you've repeated yourself quite a few times because people don't read all the posts.
Unfortunately I'm having problems with the worldpay module after upgrading a site to 1.3.7 and moving to a server with php 5.1.6.
I've tried all the suggestions in the forum re. php5 but still get the:
.. your payment has been cancelled!
Response from WorldPay:
This is a TEST TRANSACTION. No money has changed hands
and, of course, the order doesn't get processed in zencart.
We tried the site on a different server (PHP4) and it was fine.
Are there some ssl settings I need to look at?
After returning from worldpay; the url is: https://select.worldpay.com/aequitas...=1190100180110
I don't have any ssl on the domain.
Or does the module simply not work yet with php5?
I'm stuck!
Thanks
Paul
Hello All...
I've not yet got the the bottom of the problem on my shop - we are running php5.2 and since the upgrade to that version the WorldPay mopdule has not worked.
I'm getting "Catchable fatal error: Object of class queryFactoryResult could not be converted to string " in /includes/modules/payment/worldpay.php on line 153
I think I may have to move the site to a server running php 4x until such time as the WorldPay module is compatible with php5.2
Has anybody actually got the Worldpay module to work on php5.2?
Thanks
Andy
http://www.zen-cart.com/forum/showpo...0&postcount=41
Have you tried the above solution?
Hi CES
Thanks for the heads up on that solution - I've made those changes as that makes sense. However it still doesn't solve my problem which occurs on the checkout_confirmation page.
Catchable fatal error: Object of class queryFactoryResult could not be converted to string in /home/ukequipm/public_html/shop/includes/modules/payment/worldpay.php on line 153
Andy
Hello
As an update on this - I have set the Use MD5 value to false - which prevents the error. Now to see what the implications of that are!
Andy
I have investigated this problem and have found that the WorldPay module is failing to return the $language_id which is then causing teh MD5 command to fail.
Andy
hi has anyone seen this error message
it happens when my cart is full and I go to pay for it via worldpay
Catchable fatal error: Object of class queryFactoryResult could not be converted to string in /home/fhlinux170/a/my_domain/user/htdocs/zen-cart/includes/functions/functions_general.php on line 660
Catchable fatal error: Object of class queryFactoryResult could not be converted to string in /home/XXXXXXXXX/public_html/includes/modules/payment/worldpay.php on line 153
Got this problem too, via php 5.2 help!
Hi guys
I am stuck... I have installed WorldPay module and configured it according to the information from the installation manual, but... It simply does not work, it's not even showing the WorldPay payment method in the checkout process (although I am not sure if it should be shown). I have activated only the CC payment and WorldPay payment method, but nothing happens and all the system does it is just taking standard CC payment. Please help :(
It's Zen Cart 1.3.7 on PHP Version 5.1.6. Settings are as follows:
Credit Card via WorldPay worldpay 1 default
Enable WorldPay Module - True
Worldpay Installation ID - xxxxx ;)
Transaction Mode - 100
Use MD5? - False
MD5 secret key -
Sort order of display - 1
Use Pre-Authorisation? - False
Set Order Status - default
Pre-Auth - A
Payment Zone - United Kingdom
There's even more to this; unfortunately, WorldPay - while trying to authenticate my installation - is sending me an email:
--
We are currently checking your website prior to activating your installation, and have found that the following problems that need correcting before we can complete the activation.
******************************************************************************** *******
NOT LINKING TO WORLDPAY
We have been unable to make a test transaction through your site as it does not appear to be linking to the WorldPay payment gateway. [...]
--
So I assume it simply does not work, it's just not calling WorldPay at all... Can someone help me please? I am fighting with it for last two weeks :/
Cheers
Wojtek
Has anyone got any updates, I get to the 'Thank you, your payment was successful' page and no further, despite following the advice in this thread.
Thanks
Many thanks to duncanad for your invaluable contributions to this thread and module. Your help and advice has helped me out no end in the past :o)
Is anyone reading this qualified to comment on the technical changes to Worldpay systems? Will this have any impact on the workings of the Worldpay module for Zen Cart?
To the best of my limited ability, I can't see how it could have any impact at a glance - but don't take this as read - my knowledge is severely limited!
many thanks
Hi Guys
Ive installed the WP mod but when you get diverted from WP back to zencart i get the following error:
Fatal error: Cannot redeclare class order in /home/sites/1body1life.biz/public_html/Shop/includes/classes/order.php on line 20
Anyone know what it is ?
Thanks
Billing and Shipping address on worldpay seem to be mixed up ! maybe it has always been like this , but 6000 orders and this is the first person to call me and say its wrong ! im sure i would have tested it .
If you use a different billing address , zen-cart seems to send the shipping address to worldpay ! I have not changed anything on the site in 6 months and the server has not been upgraded or changed in anyway !
Any clues grateful , i get about 5 orders a day where the address's are different , this will soon annoy the hell out of the customers !
thanks
After a little more testing , worldpay actually ignores Delivery / billing address's altogether and seems to take whatever is your primary address.
in other words if I have an account set up with Primary address A
and then want to ship it elsewhere ( Address B ) and also have it billed to a 3rd address ( address C ) very rare I know , but it goes to prove a point .
Worldpay only ever takes address A !
I need to fix this .. Help.
It doesn't use the shipping address. It always uses the 'Primary' address set by the customer. The customer can change their primary address by logging in and clicking 'My Account'.Quote:
If you use a different billing address , zen-cart seems to send the shipping address to worldpay !
If you set either or both of the shipping and billing addresses to other than the primary address it will be the primary address which is sent to WorldPay.
The way the WorldPay module is set up the customer can change the billing address on the WorldPay payment pages. This address must match the billing address for the credit card being used. I would imagine most customers billing address will be fairly static which is why no one has noticed this before. Delivery address is more likely to change as customers may be ordering goods as a gift. In this which the billing address will be the purchaser's anyway.
I don't think it is a big issue but it might be worth considering a change at the next release.
Regards,
Alan
Thanks , now I've calmed down and had time to think about it , I agree , it must be a very rare case , possibly 1 in 6000 for me !
Also I See why its never flagged before. Like you say , might be a nice addition to any new release.
( its all seemed to gone quiet on the major worldpay upgrade they scared us with ! )
Thanks again
Apparently there is going to be a Major Upgrade in December by Worldpay and " some changes may affect your connection to the payment service".
Does anyone know if this is going to affect the ZenCart Worldpay module?
Ryk,
Where are you getting your information that a major upgrade is on the cards?
I can't see anything about it on the WorldPay site.
Alan
I think you have to log in Alan
http://www.worldpay.com/support/upgrade/home.php?
actually ...
http://support.worldpay.com/kb/refer...gradefaqs.html
Ryk,
It's OK I found the link on the Account Login page.
I've had a quick read through and I think most of the changes are at the WorldPay end, some to provide a better service for merchants and some to meet new security standards.
For example an organisiation will now not have a single login identity but each authorised admin within an organisation will have their own login and profile. This will achieve two things
1. Organist########s will be able to decide which areas within the WorldPay Control Panel each login has access to. i.e. access can be tailored to function.
2. Any transaction carried out on the control panel can be traced to an individual.
Merchants need to be aware of this and should set up a separate login and profile for each of their authorised operatives. My reading of this is that this will not be optional but a mandatory requirement. Failure to do this will constitute a breach of regulatory requirements. There will be a requirement to to cross reference all transactions to login ID.
The above will have no impact on the current ZenCart WorldPay module.
There will be a change in the way Test transactions are handled. Currently these are directed according to the 'testMode' value. In future, if an order is processed using a testMode value of '100' or '101' and the URL for the live environment (the way test transactions are typically submitted on the current system), you will be presented with a page asking you if you want to redirect the submission to the (new) test environment (https://select-test.worldpay.com/wcc/purchase.) If you do not take this option, the transaction the test order will be directed to the live environment (https://select.worldpay.com/wcc/purchase). If your account is not live you will receive an error. If the installation is live, the result will depend on the card you used:
Test card: if you used a known test card number WorldPay will block the transaction.
Live card: WorldPay will submit the card details to the card-issuing bank, where it will be processed like any other payment - they decide if the transaction should be authorised or refused. In the case where the transaction is authorised, funds will be debited from the card and you would have to perform a cancellation or a refund to recover those funds.
If you do opt to send the test transaction to the test environment, the transaction is sent to the test environment, processed and reported (in the test environment) according to what you specified in the Shopper Name field.
The above means that the current ZenCart module will still work OK after the upgrade but Users will need to be careful how they respond to the choices they will now be offered.
A better solution will require a minor change to the module so that in 'Test' mode the module directs to the test environment URL and avoids any confusing choices being presented. This shouldn't be a big issue except that WorldPay don't seem to have set a date for the upgrade to be implemented.
There are also some installation specific issues which merchants should be aware of so those who have a WorldPay account should read the section on the upgrade themselves to ensure that they understand any procedural changes they require to make.
If anyone thinks there are any further technical changes that may be required to the module please post details here.
Regards,
Alan
Thanks for that - you've explained clearly.
I believe this was due to happen, but the client who queried me has been told it will be 8 December
Does anyone know how to delete some of the credit card images on World Pay?