Hi

Some orders on my site aren't updating even though payment in worldpay has been successfull, I've checked through the orders and can't see anything that links them so can't see what would be causing it.

The worldpay payment confirmation email comes through but the one from the site doesn't,

it doesn't happen on every order but has happened 5 times in the last couple of days.

has anyone come across this or a way to fix it?

Comments

sk2013’s picture

+1 Subs

gruberroland’s picture

Can you check your logs if /cart/worldpay/complete was called by Worldpay and the HTTP status code? Maybe the callback is simply missing in these cases.

gruberroland’s picture

Issue summary: View changes
Status: Active » Closed (cannot reproduce)

Please reopen if this is still an issue.

pandroid’s picture

Category: Support request » Bug report
Priority: Major » Normal
Status: Closed (cannot reproduce) » Active

We're getting the same symptom as this with the latest rev (7.x-.1.3). I cant see how this has ever worked.

The reason appears to be that Worldpay destroys the $_SESSION variable when it redirects to /cart/checkout/complete. As this arrives empty the uc_cart_checkout_complete routine in Ubercart cant resurrect the order and so displays the (still loaded) cart even though the order has been accepted.

We got round it by passing the order id as a parameter but I'll leave it to the uc_worldpay module maintainer to find a more elegant fix as ours requires a patch to Ubercart.

gruberroland’s picture

Do you use the latest version of Ubercart? The current solution works perfectly for me on my test and production environment.

pandroid’s picture

Yes, we're on the latest rev of everything. This appeared to work until 16th Feb this year. I think it disappeared with the last rev of uc_worldpay.

I now suspect its our use of mixed-mode ssl that may be causing the issue. This has two $_SESSION variables, one for http and one for https. For some reason the redirect is probably calling the wrong url and the session variable being collected is the wrong one. However, I haven't proved this yet.

gruberroland’s picture

Maybe you are redirecting to the wrong URL (should be /cart/worldpay/complete)? You wrote something about
/cart/checkout/complete.

pandroid’s picture

No. The first redirect (to cart/worldpay/complete) is actually a fake and works ok. It really renders on Worldpay's own system. Its the second redirect at the end of the uc_worldpay_complete function, to cart/checkout/complete, that fails.

We're still setting up to see if its related to mixed-mode ssl and will report back when we know. Initial tests were not encouraging.

gruberroland’s picture

Status: Active » Closed (works as designed)

Closing due to 14days inactivity. Please reopen if you think the problem is really caused by uc_worldpay.

jamesbisset’s picture

Status: Closed (works as designed) » Active

My client is complaining of the same issue - abandoned orders but successful Worldpay payments.

Looking through the logs, I can see that callbacks logged by uc_worldpay include this:
HTTP/1.0" 200 12795

But callbacks which uc_worldpay appears to ignore include this:
HTTP/1.0" 200 12476

See www.mediachrome.com/uc_worldpay. I've listed all the callbacks for a couple of days, and the matching uc_worldpay log entries.

I can't find any instances of these numbers/codes anywhere else so I'm not sure what's going on.

Can anyone enlighten me?

gruberroland’s picture

The number you see after the 200 is just the number of bytes for this request. So it will not help to debug this.
Please enable log debugging in Worldpay configuration and look for messages like this: "Returned parameters"
Here we should see a list of all POST parameters provided by the Worldpay server.

Now, check for any differences in the parameters. Please note that the messages will not appear in your Apache log but in system log (/var/log/messages or /var/log/syslog).

jamesbisset’s picture

OK, thanks for the guidance.

The site is hosted by a third party on a shared server. The good news is that I had already enabled logging. The bad news is that the hosting company won't allow the site to write to their server system logs.

I'll have a look at temporarily dumping the messages somewhere accessible, and let you know what I find.

gruberroland’s picture

Status: Active » Closed (cannot reproduce)