Problems with WorldPay


https://forum.kartris.com/Topic1246.aspx
Print Topic | Close Window

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.