By mountier - Mon 22 Aug 2011
|
Hi there, I'm havign real issues with World Pay integration and my Kartris installation.
After finally getting the account approved from Test to Live I am know facing issues with the Payment Response URL.
I found an older thread on here that talked about changing the callback.aspx file to include ValidateRequest="false" at the end of the opening declaration and I changed the response URL to include d=off on the address too but still nothing.
What happens is that I'm able to make a purchase and I go off to the WorldPay gateway, enter in the card details and I do see the success page (that you're forced to provide on the WorldPay gateway itself) but the secret callback that is generated creates a 302 error as the page is redirecting to another page which WorldPay don't like. Again, this was referenced in a previous thread but the steps don't provide me with a solution.
Is there something I'm either not doing right or missing?
Any help would be greatly appreciated as I have another 4 Kartris installations almost ready for LIVE status and all using WorldPay. Help!
Many thanks
Jason
|
By Medz - Mon 22 Aug 2011
|
Hi Jason, can you check if you have something in the error logs that relates to the worldpay callback? If you've already added ValidateRequest="false" in callback.aspx's page directive then the only reason you'll get a 302 error is if the callback page is redirecting to error.htm. If you found nothing on the logs then it might be worth checking if turning off the "validateRequest" in the web.config has an effect. ->
<pages validateRequest="false" enableEventValidation="false" viewStateEncryptionMode="Always">
Regards,
Medz
|
By mountier - Tue 23 Aug 2011
|
Hi Medz
I have checked the logs and there are entries in there. I've copied in one below;
----------------------------------------------------------------------------- >> URL:http://www.sweetenostalgia.com/callback.aspx?g=rbsworldpay >> Page: ----------------------------------------------------------------------------- >> 22/08/2011 10:13:31 >> 193.41.220.41 >> DESCRIPTION: Callback Failure: Transaction not authorized () Transaction not authorized () FF: QS: g=rbsworldpay
-----------------------------------------------------------------------------
I also checked the web.config file and the line of code is the same as your suggestion (i.e. the validaterequest is already set to false)
Does this make sense at all?
|
By Medz - Tue 23 Aug 2011
|
From the looks of it, Worldpay still isn't using the updated response URL with "d=off". If you look at the error you'll see that Worldpay is still calling this URL ->
http://www.sweetenostalgia.com/callback.aspx?g=rbsworldpay
instead of ->
http://www.sweetenostalgia.com/callback.aspx?g=rbsworldpay&d=off
Can you check the Payment Response URL in Worldpay again and see if it indeed has the correct URL? Also a "not authorized" error doesn't do a redirect so I suspect the RequestValidate=false tag doesn't work properly. Can you confirm that the first line of your callback.aspx page looks something like this? ->
<%@ Page Language="VB" Buffer="true" MasterPageFile="~/Skins/Kartris/Template.master" AutoEventWireup="false" CodeFile="Callback.aspx.vb" Inherits="Callback" ValidateRequest="false" %>
|
By mountier - Tue 23 Aug 2011
|
Worldpay are using the new Payment Response URL now, I have had an email from them with a log of what happened with the latest order.
This is copied below.
I have also checked the first line in the callback.aspx page and it is different from what you have suggested. This is what I have; <%@ page language="VB" buffer="true" masterpagefile="~/MasterPages/Kartris.master" autoeventwireup="false" inherits="callback, KartrisCompiled" enableEventValidation="false" viewStateEncryptionMode="Always" ValidateRequest="false" %>
Should I use the code you supplied? (what difference will this give me?)
The response from Worldpay is below
The address we called was http://www.sweetenostalgia.com/callback.aspx?g=rbsworldpay&d=off
2011-08-22 14:12:40.426 INST : 261446 2011-08-22 14:12:40.426 DESC : 22 x Chewing Nuts/100g (SKU_86) 2011-08-22 14:12:40.426 1 x Aniseed Balls/100g (SKU_251) 2011-08-22 14:12:40.426 CART ID: 35 2011-08-22 14:12:40.426 TRANSID: 2074974351 2011-08-22 14:12:40.426 STATUS : Y 2011-08-22 14:12:40.432 Starting callback handling 2011-08-22 14:12:45.557 Callback to: http://www.sweetenostalgia.com/callback.aspx?g=rbsworldpay&d=offsuccessful 2011-08-22 14:12:45.560 Callback handling completed successfully 2011-08-22 14:12:45.560 Started receipt handling: FULL 2011-08-22 14:12:45.564 Queue Email: shopperPurchaseEmail-24740 2011-08-22 14:12:45.567 Queue Email: merchantPurchaseEmail-24741 2011-08-22 14:12:45.567 Receipt handling finished
|
By Medz - Tue 23 Aug 2011
|
Sorry the code that I've posted applies to Kartris v1.300+. Based on the callback code you've posted I think you're on 1.200*? You can retain the code that you have right now as it looks correct.
The email suggests that the callback now works ok in Worldpay side. Can you check if the order was correctly updated in Kartris side?
|
By mountier - Tue 23 Aug 2011
|
Hi again
This has now been resolved (with the help of the very useful team at WorldPay)
For anyone else using WorldPay this is what worked for me.
In the WorldPay installation screens you need to;
- tick the Payment Response Enabled box - enter the Payment Response URL as http://www.yoursite.com/callback.aspx?g=rbsworldpay - tick the Enable Shopper Response box
Once your WorldPay account has been approved (this may take several weeks as they can be a bit of a nightmare with terms and conditions approval) you need to change a setting in the Kartris payment gateway pages.
The POSTURL needs to be changed to https://secure.worldpay.com/wcc/purchase I found this out after the 3rd phonecall to their support team who said it was pretty obvious that this is what it should be!
Finally, you will need to add in the resultY.html and resultC.htm pages Here is a link to their help files - http://www.worldpay.com/support/kb/bg/customisingadvanced/custa7105.html Its not the best set of help files in the world but basically take their sample HTML and edit everything below the banner area. You may not need to do this though if the response URL is working but it's worth noting where it is.
I hope this helps anyone as I've spent several days being fed incorrect information.
Thanks for all your help though to the Kartris team, as always you're all fantastic!
|
By Paul - Wed 24 Aug 2011
|
Thanks for the update, I've added a kb article for setting up WP:
http://www.kartris.com/Knowledgebase/Setting-up-WorldPay-formerly-RBS-WorldPay-with-Kartris__k-33.aspx
Let me know if you spot anything inaccurate and I can change it, but I've incorporated details or your experience and ours.
|
By rocknet - Thu 24 Nov 2011
|
I too am having problems with the worldpay callback.
I can make a purchase and this is reflected in the worldpay admin page.
The problem is that my kartris site is not being updated with the sale info.
As far as I can see, if done everything I should but maybe I've missed something simply.
Any ideas anyone?
Steve
|
By Paul - Mon 28 Nov 2011
|
I've tested with
https://secure-test.worldpay.com/wcc/purchase
which WP recommends, but I seemed to get the callback response on screen, even though the order was not called back. Perhaps I misread what happened, but that's how it seemed to me.
I then changed to
https://select-test.worldpay.com/wcc/purchase
and it seemed to work fine for me, even though WP recommend the first URL instead.
WP has changed their name and domain over the past couple of years from Worldpay to RBSWorldpay, then back to Worldpay again. They've changed processing URLs too. The older ones seem to still work, but not sure if they're doing redirection which might not fully transfer the data.
All I can confirm is that at the time of writing, the second URL above (select-test) definitely works for me.
Also we've just release 1.3005, so if having other issues with WP, update callback.aspx and checkout.aspx (and .vb files), as these may well fix the issues.
|