Support

Home Forums Event Espresso Premium No payment made, but marked as "Paid" and user receives a ticket

No payment made, but marked as "Paid" and user receives a ticket

Posted: February 1, 2013 at 4:10 pm


Jess Nunez

February 1, 2013 at 4:10 pm

We’re having an intermittent problem with our site. It seems every so often, users who are registering for an event are occasionally skipped right over the payments page and taken straight to the thank you page. They are emailed a ticket, and no payment is received, but the backend marks the payment as complete and collected.

Please help us figure out what could be causing this! We’re losing money as a result


Jess Nunez

February 1, 2013 at 5:04 pm

I’m reviewing the logs, and there’s a reference to WordFence

[ 2013-02-01 16:07:52 ] espresso.php

VARS : action = wordfence_testAjax

[ 2013-02-01 16:07:52 ] registration_page.php -> FILE LOADED

And then also:
[ 2013-02-01 16:07:53 ] espresso.php

VARS : action = wordfence_doScan & isFork = 0 & cronKey = 7fdaxxxxxxxxx3ff

[ 2013-02-01 16:07:53 ] registration_page.php -> FILE LOADED

Do you think the plugin could have to do with the randomly non-working payment collection?


Jess Nunez

February 1, 2013 at 5:38 pm

Now that I review the log file more fully, I don’t believe that’s the issue. I’m still at a loss. I did notice that “Default Payment Status for Event:” was set to no change and I changed that to incomplete but I still don’t think that was the problem. I’ve been unable to replicate the skipping of the payment page in all major browsers, and with javascript turned off. But it’s definitely happened a few times in the last couple of days


Dean

February 2, 2013 at 4:58 am

Hi Jess,

That is unusual, and something I can’t replicate. Is there any way of stopping WordFence from scanning EE related pages or to turn it off completely, in order to test if it is causing the issue?

Also a bit of a long shot but are there any caching plugins installed and has the EE pages been marked as not to be cached?

Looking at your site, I would also update the EE plugin as you are running an older version.


Jess Nunez

February 2, 2013 at 11:35 am

I’ll deactivate the Wordfence plugin. The server is running Varnish for caching – do you think that could have something to do with it?


Dean

February 3, 2013 at 11:33 pm

Hi Jess,

Honestly, I am not sure, just trying to rule out everything as the issue is irregular and cant seem to be recreated.

It is always worth making sure EE pages are not cached.

I would monitor it with WordFence off and EE not cached and with logging on (dont forget to turn it off!) and see if the issue re-occurs.


Jess Nunez

February 5, 2013 at 11:43 am

Sadly it just reoccurred again. I thought for sure disabling the cache would fix it. We turned the caching engine off on the server, and disabled the plugin.

It only occurs about once a day, at different times. One in every 30 tickets or so. And every time it happens they are missing a selection for the time slot, even though you can’t get to the checkout page without selecting a time.

Several very honest customers notified us and then went back to try again, and it always works successfully the second time.

If you have any other ideas that I could try I’d appreciate it!


Dean

February 6, 2013 at 2:16 am

Hi Jess,

Is there a particular event that this occurs on or is it spread across events?

Is it possible to pin down what browser they are using when it occurs? I checked all the major up to date ones couldnt see anything, but didnt test older versions.

Did the log files bring up any additional info regarding this latest incident? Can you email them to me (support@eventespresso.com)?

Random note: On the event registration page(s) there is an uncaught jquery error.


Jess Nunez

February 6, 2013 at 10:04 am

The log file seems to have stopped recording two days ago. I’ll see what I can find out about their browser. Just happened again for a group of 19


Jess Nunez

February 6, 2013 at 12:52 pm

I just had a thought…we’re using PayPal Pro to process payments. Some people are being skipped past the payment page to the thank you page. Do you think we could put some kind of tracker on the thank you page to check which page they just came from? If it was the payment page, then proceed with the thank you message, but if it was any other page, redirect to the payment page.


Josh

  • Support Staff

February 6, 2013 at 1:37 pm

Hi Jess, Can you verify that when this happens, the payment page is being skipped? It sounds like what’s happening is they are going from a confirmation page, directly to a thank you page. Either way, they’d be coming from the main registration page (the confirmation page and payment page both dynamically load from the main registration page). MYy thinking here is we need to find out why some people are able to skip past the payment page and it’s somehow marking their payment status as complete. Like Dean said earlier, we’ve been testing this and haven’t been able to figure out a way to bypass the payment page. We are still looking into this though! There is a feature in Event Espresso>General settings that you can set to display the payment options for pending payments. It may help to try setting the Show payment options for “Pending Payments” on the Payment Overview page? to Yes in this case.


Jess Nunez

February 6, 2013 at 1:56 pm

Good call – I had had the “skip confirmation” page set to Yes. I just changed it to “no”. Fingers crossed that helps somehow!


Josh

  • Support Staff

February 7, 2013 at 2:55 pm

Hi Jess, I wasn’t thinking that changing the skip confirmation page setting would fix this. Again, we have not been able to reproduce this issue (we’re trying!) so until we can reproduce the steps we don’t have a solution. We’ll keep working on it though.

One thing that I’m thinking may be an issue is if there are some browser plugins out in the wild that may be affecting registration process. That might explain why we can’t reproduce this. If you happen to be in contact with any of the folks that were able to get a registration through without paying, it would be helpful to know what browser they are using, even better their browser stats from supportdetails.com


Jess Nunez

February 12, 2013 at 12:54 pm

Right – I was thinking that too. I could check my analytics program to see what browsers they’re using, but I’ve had trouble determining which visitors were which. Changing the skip confirmation page seemed to have helped a little – it’s been several days since it happened, but it just happened now. Fortunately we noticed it right away and I was able to check the logs, and I’m going to go look up the user’s browser information right now. I’ll share that shortly. Meanwhile here’s what was in the logs (for two tickets purchased at once:)

[ 2013-02-12 19:34:59 ]  espresso.php
    VARS : 
[ 2013-02-12 19:34:59 ]  registration_page.php  -> FILE LOADED
[ 2013-02-12 19:34:59 ]  cart.php  -> FILE LOADED
[ 2013-02-12 19:34:59 ]  payment_page.php  -> FILE LOADED
[ 2013-02-12 19:34:59 ]  add_attendees_to_db.php  -> FILE LOADED
[ 2013-02-12 19:34:59 ]  database_install.php  -> FILE LOADED
[ 2013-02-12 19:34:59 ]  espresso.php  -> espresso_load_pricing_functions
[ 2013-02-12 19:34:59 ]  espresso.php  -> espresso_export_certificate
[ 2013-02-12 19:34:59 ]  espresso.php  -> espresso_export_ticket
[ 2013-02-12 19:34:59 ]  espresso.php  -> ee_init_session
[ 2013-02-12 19:34:59 ]  espresso.php  -> load_event_espresso_widget
[ 2013-02-12 19:35:00 ]  espresso.php  -> espresso_load_jquery
[ 2013-02-12 19:35:00 ]  espresso.php  -> espresso_load_EEGlobals_jquery
[ 2013-02-12 19:35:00 ]  espresso.php  -> ee_check_for_export


[ 2013-02-12 19:35:09 ]  espresso.php
    VARS : post_type = page
[ 2013-02-12 19:35:09 ]  registration_page.php  -> FILE LOADED
[ 2013-02-12 19:35:09 ]  cart.php  -> FILE LOADED
[ 2013-02-12 19:35:09 ]  payment_page.php  -> FILE LOADED
[ 2013-02-12 19:35:09 ]  add_attendees_to_db.php  -> FILE LOADED
[ 2013-02-12 19:35:09 ]  database_install.php  -> FILE LOADED
[ 2013-02-12 19:35:10 ]  espresso.php  -> espresso_load_pricing_functions
[ 2013-02-12 19:35:10 ]  espresso.php  -> espresso_export_certificate
[ 2013-02-12 19:35:10 ]  espresso.php  -> espresso_export_ticket
[ 2013-02-12 19:35:10 ]  espresso.php  -> ee_init_session
[ 2013-02-12 19:35:10 ]  espresso.php  -> load_event_espresso_widget
[ 2013-02-12 19:35:10 ]  espresso.php  -> espresso_load_jquery
[ 2013-02-12 19:35:10 ]  espresso.php  -> espresso_load_EEGlobals_jquery
[ 2013-02-12 19:35:10 ]  espresso.php  -> ee_check_for_export


Jess Nunez

February 12, 2013 at 12:57 pm

Looks like the user was using an iPhone


Josh

  • Support Staff

February 12, 2013 at 3:32 pm

That’s strange that the database_install.php file was loaded. That should only load for an admin while updating the plugin.

Can you check the PHP error logs for errors at that time?


Jess Nunez

February 21, 2013 at 12:15 pm

Tons of errors – I’m not sure what to do with them. Activating the confirmation page as a stop seemed to do the trick for almost two weeks, and then this morning suddenly it happened almost non-stop. $700 worth of tickets were given away. I checked the error logs and I”m attaching them below. One thing to note is I checked with the hosting company and this morning they just updated MySQL from 5.5.29 to 5.5.30. Since most of the errors appear to be related to mysql they’re downgrading our installation to see if that helps. Here are the errors:

[Thu Feb 21 12:26:44 2013] [error] [client 127.0.0.1] PHP Warning:  Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/

[Thu Feb 21 12:27:06 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/
[Thu Feb 21 12:28:18 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/
[Thu Feb 21 12:28:22 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: https://www.facebook.com/
[Thu Feb 21 12:28:47 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990
[Thu Feb 21 12:29:27 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/
[Thu Feb 21 12:29:42 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/the-challenge/
[Thu Feb 21 12:30:49 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/the-challenge/
[Thu Feb 21 12:30:52 2013] [error] [client 127.0.0.1] PHP Warning: Missing argument 2 for wpdb::prepare(), called in /var/www/vhosts/mysite.com/wp-content/plugins/event-espresso/templates/registration_page.php on line 81 and defined in /var/www/vhosts/mysite.com/wp-includes/wp-db.php on line 990, referer: http://mysite.com/tickets/


Jess Nunez

February 21, 2013 at 2:50 pm

Update message from my hosting company below. I’m using EE version 3.1.28.5.P. I don’t want to make any changes to the EE file versions – can you tell me what version of WordPress will work well with that version?

From the host:

The first issue is your ‘fpdf’ plugin which is causing problems with itself. The ‘fpdf.php’ file outputs some data, but the espresso.php tries to subsequently start an ob_session. This will not work, since the output of the PDF generator portion already sends headers and data, so when ob_session tries to initiate a session, the headers conflict out. In PHP, you cannot send headers after already sending data (output) to the browser. You would need to contact the developers of the ‘event-espresso’ plugin.

As for the registration portion, it is calling the ‘wpdb->prepare’ class function with an inappropriate number of arguments. The core class expects 2 arguments, and registration_page is only passing 1 argument. This is causing an error since the core class does not know how to respond to this issue (there is no instantiator or class call overload for a single-argument execution of the function).

In short, the event-espresso plugin seems to not be fully compatible with your version of wordpress. You will want to check for a newer version of that plugin or attempt to find a different plugin that does what you need it to do.

As a temporary stopgap, I have alleviated the wpdb->prepare problem with a small patch as a courtesy. I created a zero-length string to feed into the function to prevent the error from being shown. I can’t guarantee it will make the plugin work any better, and it might even make the problem worse (if that is the case let me know and I’ll revert it). This is a best-effort attempt only, as coding is far beyond our scope of support.


Seth Shoultes

  • Support Staff

February 21, 2013 at 10:48 pm

Hi Jess,

Very sorry to hear you are having trouble. I see you are using EE version 3.1.28.5.P. Did you update WordPress recently? If so, you will need to update to the latest version of Event Espresso ASAP. I am not sure you can roll back WordPress. We have made the required fixes to be compatible with WordPress 3.5 in later versions of Event Espresso.

If you want to fix it manually, you will need to find all instances of $wpdb->prepare($var) and add the required second argument, like so: $wpdb->prepare($var, '')

The support post ‘No payment made, but marked as "Paid" and user receives a ticket’ 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.

Event Espresso