Posted: November 21, 2012 at 10:07 am
|
Hello, I have noticed this on both 3.1.27 and the latest 3.1.28.4. I have both of these versions currently running on two sites using separate licenses for two separate clients (I am logged in with one of those to enter this forum topic as you don’t provide developer logins to post topics with). Symptom: First person to complete a registration for an event goes through without being asked to be paid and the cost is listed as free. How to reproduce: Go into admin, alter something on the event, click update, then go to the front-end and run through a registration for that event. This was first noticed when adding a promotion code to the site on .27, after saving the first customer to go through got a free registration. They were honest and rang up my client to let them know they hadn’t been charged. I removed the promotion code thinking that was the problem but then a second person to register (but immediately after my second save) got a free registration. All other registrations between saves and after second save but the first have all been charged correctly. The site running .28.4 is not yet live with payments but while I was testing I updated the price for members on an event and went to register and was told the event was free! But then I registered a second time for the same event and was asked to pay at the member rate correctly. Sorry if this is already a known bug however its seems quite a serious one so wanted to ask about it ASAP. John Van Ham |
Hi John, When we test, we are continually creating new/editing old events and running through a test registration afterward, and haven’t seen this happen. You mention that you updated the price for members. There is a known issue where if you set the price to 0.00 for non-members, and set the member price to something greater, then the non-member price will override the member price. That might be related to what you are seeing. Can you check the pricing and verify that for each member price, there is a non-member price? Even if you are not offering the event up to non-members, it will need a price in this case. |
|
|
Hi Josh, There is a price set for non-members on the .28.4 site which is using the Members addon. It is also using reoccurring events, and calendar addons. The .27 site isn’t running any addons at all. I have noticed when looking in the DB that the attendee is missing some fields in the wp_events_attendee table too on both sites when this happens. Those fields are.. price_option, event_time, end_time, start_date, end_date. Could PHP version be anything to do with this? Both sites are using PHP 5.2. John |
Hi John, We test against PHP version 5.2 and 5.3, and haven’t seen this behavior. Is it possible for you to send FTP and WordPress admin level log in credentials for one of these sites so we can investigate further? If so, please send via the contact form on this page: https://eventespresso.com/contact/ Select the “I am sending login info as requested” department form. |
|
|
Hi Josh, As these sites are live I’ll first copy one to one of my own servers, first check if the issue still exists and if so provide login there where it’ll be safe for me and you guys to poke around π Will let you know when that’s done John |
|
Hi Again, I was running a load of customised code, e.g. to take partial payments/deposits on courses and pay the remaining balance later on.. so just to be sure I removed all my files from uploads and deleted the event-espresso directory in plugins and replaced it with a fresh extract of the 3.1.28.5. zip file. Sure enough I can get this issue to show up still. Here’s a more detailed step-by-step in how to reproduce it.. The key seems to be that the front-end user/customer registering on the site has to have loaded the registration form already before the event is updated on the back-end. Something that is likely to happen on a busy site – as it did with the .27 site I mentioned which is taking several registrations per-hour at the moment and I edited the event twice on that site and had 2 customers register for free, one who rang-up my client to report it (how honest is that??!). So.. 1) Front-End User: Navigate to registration form for the test event. 2) Back-End Admin: Load the test-event edit page. 3) Back-End Admin: Alter the price and click update. 4) Front-End User: Fill in the form and hit Submit 5) Front-End User: The confirmation page shows the price as 0 and ‘Free’ and when clicking confirm the registration is successful without payment being taken. Hopefully with that info you’ll see this happening too? From the behaviour I am wondering if it is something to do with data stored in the session not matching the event data any longer since the event has been updated. Not sure why that would make it fall back to the price being 0 though! π Best, |
Hi John, Thank you for the detailed follow up. I can see that happening in the case where someone has started a registration and while they are in the middle of the process, the event gets edited. What I suggest as an interim solution is if there is an event that is open for registration and needs to be modified during registration, the event get placed into draft status first so no one can register while the event is being modified. After making the modifications, the event can be placed back into Public status. You can get a better idea of what’s going on by echoing out the session in the footer of the page. If you add this to the footer.php file of the theme, the session variables will print there:
|
|
|
Hi Josh, (By the way hope you all had a good thanksgiving over there!) There may be other ways of triggering this issue but that’s the one I found in order to figure out a way to reproduce it for you guys to see it in action. I tested putting the event into and out of draft and changing the price in between but the problem is still there if someone is in the middle of filling in the registration form while you update the event. So the only way to stop people from registering would be to put it into draft, wait a while to make sure anyone who was in the middle of registering fails to register – as the event is not available anymore, then update and re-publish. But by then there may be some customers who have left the site thinking it’s broken and potentially result in a loss of a sale. The ‘real-world’ case of this happening, and how I came across this was that an event was live, it has around 5 registrations per hour and all I did was go in to add a promotion code to that event for my client. I was contacted a short time later by the client because a customer had registered for free. I then removed the promotion code thinking the promo code was the problem and another customer registered for free. So it is easy for this to occur and isn’t quite a ‘once in a blue moon’ sort of bug unfortunately. Anyway now that I know what triggers it I can avoid it for a while – but the second site which I am about to put live has daily events so there will be lots of events being edited often with customers registering. So have you guys added this to your buglist and it’ll be looked into? π Thanks, |
Hi John, I’ve created a ticket for this. I brought it up in the meeting and one of the ideas that was discussed was to add a check that would throw an error message if a registration got caught in the middle of the event being edited while being open for registration, and send them back to start over. Alternatively, the forms could be temporarily disabled while an event was open in an editor. Another way to deal with doing a live edit an open event that doesn’t involve refactoring code would be to put the site or even just the main registration page behind a customized maintenance mode screen. That way if someone happened to start a registration, they would get a message that would let them know what’s going on, and to try again later. |
|
The support post ‘First attendee to register after event is saved gets a free registration’ 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.