Press Ctrl / CMD + C to copy this to your clipboard.
This post will be reported to the moderators as potential spam to be looked at
This is related to Tea Commerce 188.8.131.52
We have a little binary that hooks up to the AfterOrderFinalized event to generate and send out vouchers for the products the users have purchased. This process works without any issues and we are happy with it.
All payment is made via 1 payment provider (Worldpay). The vast majority of orders are working correctly, but we have noticed a few that seem to be slipping through the gaps.
The AfterOrderFinalized event is being fired when an order has been made (checking WorldPay shows that the payment has been authorised and captured, and a few days later it has been completed). However, none of the transactional information has been stored within the database. Checking the orders table, the transaction Name/ID are still null, and IsOrder is set to false.
As we have automated the voucher process, we dont access the order from the backend (unless they have asked for a printed version), so this was not picked up. The fact that the order data is not being updated after the transaction has completed is affecting our stats and what we will charge the client.
The log shows no errors, and as stated earlier, the vast majority of the orders follow the correct process.
The query, is there a way for the WebshopEvents.AfterOrderFinalized to be triggered without the order data being updated? Have you noticed this issue in any of your testing, and if so is there any work arounds? Is there a facility where we can check the AfterORderFinalized event to check that IsOrder is false and requested an update from Worldpay before proceeding?
If you need any further information then please let me know. I can email you code we have been using for the event to see if that is causing the issue.
Thank you in advance
What Umbraco version do you run?
The Tea Commerce event system is just normal .NET event hooks - and they are called 100% correctly. Its been tested, tested and even tested some more :)
Most often the error occure in the 3 party event code that developers write - so that is the first place to log anything. If the IsOrder is false - then the callback didnt happend - OR there did happen an error in the callback. That error will be in the umbracoLog DB table or the App_Data/Logs depending on your Umbraco version - this is just a normal .NET exception that would happen.
Try to see if you can find a pattern for the orders that doesnt get finalized by WorldPay - then it would be much more simple for my to hlep you :)
Thanks for the reply Anders. We are on Umbraco Version 4.9.1.
All in all, out of 60000 orders, only 6 have been missed. We are trying to hunt down the errors, but can not locate anything. There is nothing in common with the orders, and World Pay don't report anything. (Products are different, different times of day/month, data looks good etc). Its only happened within the last couple of months, and we have done no changes to the system during that time.
We have added some extra logging/checking to notify us if it happens again. Hopefully we can build up a picture of why the finsalixed is being called without the order being updated first.
Yeah - sounds good with the extra logging. Sounds weird - lets hope you can dig up some extra info.
is working on a reply...
Write your reply to:
Image will be uploaded when post is submitted