After I signup and succesfully paid for first event, I signup for another event, however it seems like the attendees-email addresses from the first event sticks in the cache/session.
After I enter the email address for the second event (uc_signup/attendees/emails) , i'll get an overview (uc_signup/attendees/profile) including the emailadresses from the previous signup !

It seems like the session from the previous signup wasn't removed.

Comments

LisaX’s picture

Category: bug » support

I think I've sold the problem.
It was obvious a cache problem. I just set the cache time to 1 minute. Hopefully this won't affect the other things on the website.
However, isn't it better to just clear this session when uc_signup has completed the payment?

dca123’s picture

I was getting the same issue but after updating to the newest dev this does not happen anymore...

ezra-g’s picture

Category: support » bug

Indeed. We should clear out the relevant information from $_SESSION['uc_signup'] after each placeholder signup is created.

49digital’s picture

I am having this problem as well, but clearing the cache does not solve it for me. I'm not sure how to implement ezra-g's solution in comment #3 but it looks like this is something that should be happening anyway? Is there something I need to change in the module to fix this?

ezra-g’s picture

Title: Attendees emailaddress from previous signup included with the next signup. Therefore it signups again for the previous event » uc_signup info not cleared from $_SESSION with off-site payment.

Actually, I'm not able to reproduce this problem with the latest dev.

Here's what I think may be happening:

- Your using an off-site payment method like Paypal WPS
- The signup information is cleared from the session when the conditional action for an order being marked as paid happens, which may happen when the user is not logged in and the site receives a payment notification

Can you confirm?
In any case, if this is happening, folks would have the opportunity to review the signup information on the order review screen with most payment methods, and make changes if they were incorrect.

I'm certainly opening to finding a better solution, but integrating off-site payment gateways is a big challenge for Ubercart -- for example, see the related #644538: Duplicate order notification e-mail, and duplicate stock decrement.

Probably the best solution is another conditional action to clear the session information when a user hits checkout/complete .

49digital’s picture

Thanks for your help Ezra, I think the problem may be that I am still having 'duplicate' orders placed when payment is via credit card (which is currently just using the test gateway although I will be using Paypal Web Payments Pro when the site goes live). So, it would appear that the order isn't being marked as paid which would possibly then cause both the 'duplicate' situation as well as not clearing the session. I set up the Paypal a little while back and it worked fine so I will turn it back on again and test it live and see if it works properly. Maybe it's just the test gateway.

I'll check it out tomorrow and report back. Thanks again.

bewhy’s picture

I'm having this same issue. I'm using the latest dev, freeorder, and signing up as a non-logged in user.

I'll sign up for an event (complete chekout). And come back soon after to sign up for a different event. The cart will only show one event, the attendee email address screen will only have one email (for the event i'm signing up for). When the Attendee Contact Information screen comes up, the signup information from the previous order remains, hence I seem to be checking out for two items.

I would relish the clearing of the $_SESSION as a ca variable.

istryker’s picture

This is more complicated. On person #1 computer they signup for an event, as an authenicated user. Then on My computer when I sign up as an anoymous user, their email is used. It doesn't even ask me to enter an email address, it just skips to the ubercart checkout page.

dca123’s picture

The original poster's problem didn't only happen on offsite payments with my installation. The dev version I tried at the time seemed to have worked but I was mistaken.

I seem to have fixed this problem by using a conditional action like ezra-g suggested.

Trigger: Customer completes checkout
Conditions: default
Action: Execute custom PHP code
Custom PHP: unset ($_SESSION['uc_signup']['nids']);