Posted: February 10, 2022 at 5:17 pm
Hi All, This is really weird and has only happened twice that we can remember since using EE4 for a couple of years now, but for some reason, sometimes a transaction is marked as paid and complete, but the transaction details do not match what was sent in the email to the customer. Under “Message Activity”, we can click on “View Message” for the transaction, and the event information in the message contains completed registrations that do NOT show up when viewing the transaction on the admin side. It appears as if a customer’s future order replaced the transaction items from the older order with the transaction items from that order. It’s weird because our original transaction shows this status: Transaction Status: Overpaid What is the finalize registration step, and if it was never initiated, why was payment charged and an email sent to the customer? Also, when we try to click on view receipt for this transaction, we get this error: An error has occurred: This is so strange! So we had a customer show up for an event they thought they had purchased tickets to (and did according to the email), but they did not show up in the list of registrants. Was this a bug fixed in a recent version of EE4? We’re running an older version (4.10.8.p) due to heavy customizations we’ve made, but I don’t recall touching any code relating to transactions. If this is some kind of known issue, race condition, or quantity problem during the last step when the order is finally entered, please let me know, as I would like to backport the fix into our version. Anyone have any idea what could be happening? I looked at the entries in the database, and it doesn’t really give me any more information as to what happened. |
|
Hi there,
How is the user getting to your site to add this registration? For example, are they clicking a link from one of the previous emails? What I’m wondering here is if they are opening their previous session using a link from the email/history (such as one of the checkout links) and then continuing to try to add a new registration. I can’t reproduce that issue myself but trying to think of ways in which this might happen.
When you view the transaction, do you see tickets/line items displayed in the ‘Transaction Items’ shown in the ‘Transaction Details’ metabox? I’m guessing not.
When you register onto an event you go to what we call the single page checkout process (SPCO for short) which can have multiple ‘steps’, by default you’ll have 2 shown: 1. Attendee information. There is also the finalize step, but it’s not shown to the user as it is internal and it is the process that happens when you click to pay/finalize the registration. For the user to have been charged the finalize step must have been initiated, they can’t be charged without that happening, so whatever is causing the issue with the transaction is likely also wiping out the data to show the finalize step.
Something is updating the transaction with invalid data so then when you try to access features of the transaction its blows everything up. Unfortunately, right now, I can’t tell you what that ‘something’ is, but the transaction has been broken so anything that relies on it will throw an error.
I’m sorry that happened and I’m not just throwing that out there, it sucks when things go wrong and we don’t like it any more than you (the end user) does.
Not that I’m aware of, no. The above isn’t a known bug. We have seen something similar a few times and it turns out to be caching but no other known issues.
I know of 1 where you are hooking into the finalize step: https://eventespresso.com/topic/new-payment-method-hook-into-proceed-to-finalize-registration-call/ And no, I’m not blaming your customizations here but it is possible to be some of the custom code just as much as ours which makes this tricky.
I’d love to be able to tell you what is causing the above and that we have a fix, but this isn’t a known issue.
I’ll prefix this with the fact that I don’t have a solution to fix this but what I think has happened to that transaction is the line items have somehow been deleted/replaced. That’s actually relatively easy to confirm, the above ‘Transaction Items’ section being empty pretty much confirms it but its easy enough to check the database if you comfortable with phpMyAdmin? On the site, take note of the Transaction ID for that broken one. In the site’s DB, open up Like so: https://monosnap.com/file/Ib3HT74HZjN4rMyGrFEko6C9BHUt9C Obviously, your TXN_ID will be different. What do you see? — The ‘somehow’ part is going to be the really difficult part to narrowing this down, it’s not widespread and we don’t have many reports of situations like this so it’s not a plain old core issue. It’s going to be under the right conditions with a specific request (which may also even rely on a specific server config, who knows) to reproduce this and as it doesn’t happen on all registrations so I could likely run through the exact same steps the user did 1000 times and still not reproduce. |
|
We do see transaction items for the transaction (in the database too), but the items it is showing are from the customer’s future order they placed, not what should be there. I believe you’re right that somehow something replaced the original transaction items in this order with the items from a future order. As to how that happened, I have no idea, and the customer probably won’t be able to remember the flow he used (unfortunately) to purchase these tickets. I do suspect it may have something to do with the session being re-used somehow, but yes, I have no idea how to reproduce it either. I don’t think it’s a problem with the custom payment plugin I’ve developed, as again, this issue is extremely rare, and we have tons of events going on weekly. If I discover anything else that could help us, I’ll update this thread. Thanks for the response! |
|
The support post ‘Strange Issue with Transaction – Finalize Registration : Never Initiated’ is closed to new replies.
Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.