Support

Home Forums Event Espresso Premium Paypal IPN not being received by Event espresso

Paypal IPN not being received by Event espresso

Posted: December 7, 2013 at 9:46 am


Harvey

December 7, 2013 at 9:46 am

I’m trying to debug a new problem with EE.

Problem
Most of my events are free. However, I have paid events from time to time. Paypal Payments have worked fine up through my most recent paid event (last month). However, I’ve just created a new event where I’m getting transaction status showing as “incomplete” after registrant returns to our web page from Paypal.

It’s not Paypal. They report that they have sent an IPN (copied below).

Currently using

Using an EE-customized version of EE: 32-core-4.0p-BETA-2013-08-30
No change to anything in my WP install except perhaps the theme and possibly the WP version
Problem occurs in WP 3.7.1 using 2013 theme (and, I believe, in previous WP version but not 100% certain)

Debugging tried so far

CURL – I’ve confirmed my host is using it (which of course makes sense since previous payments succeeded)
Template change – in case there was a problem with the page template, I installed your txnpage.php template and tried it out. No change.
Firewall – I’ve checked with my host to see if there were any changes to their firewall in the past month or two. No changes reported
Transactions Page – still published and accessible – http://ypowpo.com/registrations/?page_id=7

Instant Payment Notification (IPN) details

Message ID
6J918463LK132733J
Date/time created
12/7/2013 10:37 GMT-05:00
Original/Resent
Original
Latest delivery attempt date/time
12/7/2013 10:37 GMT-05:00
Notification URL
http://ypowpo.com/registrations/?page_id=7&e_reg_url_link=d8d74ce1df1999df06f95c22ec9fb0ba&ee_gateway=Paypal_Standard
HTTP response code
200
Delivery status
Sent
No. of retries
0
Transaction ID
86M36909PL706731C
IPN type
Transaction made
IPN Message
(lots of message detail but don’t know if you need it)


Harvey

December 7, 2013 at 9:56 am

In case this is useful, I turned on EE logging for about 1 1/2 hours and tried to pay at least once. Here’s a link to the very lengthy log:
http://ypowpo.com/wp2/wp-content/uploads/espresso/logs/espresso_log.txt


Harvey

December 9, 2013 at 8:28 am

Also, all plugins ex EE were turned off (even though things worked fine with them all on last month.


Josh

  • Support Staff

December 9, 2013 at 9:52 am

Hi Harvey,

I checked into this and it appears that the shortcode on the transactions page isn’t getting parsed:

http://ypowpo.com/registrations/?page_id=7

Normally the shortcode would not appear in the content when you visit the transactions page in the browser.

Can you go into the admin, to Event Espresso – General Settings, and under the Critical Pages tab check to see if the Page Status and Shortcode are indicated as OK?


Harvey

December 9, 2013 at 9:55 am

All pages report Page Status OK, Shortcode OK


Harvey

December 9, 2013 at 10:08 am

Might have a useful clue!

I had a separate installation of this EE beta that I used for testing. I don’t know all of the changes since I ended the test but I do know one for certain – it uses an earlier version of WordPress – I hadn’t yet upgraded to 3.7.1.

I tested a payment and it worked fine!

Do you have any reports of conflicts with 3.7.1? Might there be a setting I can change (or can I easily roll back a version?


Harvey

December 9, 2013 at 10:23 am

It was a pretty benign release for WordPress

WordPress 3.7.1 Maintenance Release. This maintenance release addresses 11 bugs in WordPress 3.7, including:

Images with captions no longer appear broken in the visual editor.

Allow some sites running on old or poorly configured servers to continue to check for updates from WordPress.org.

Avoid fatal errors with certain plugins that were incorrectly calling some WordPress functions too early.

Fix hierarchical sorting in get_pages(), exclusions in wp_list_categories(), and in_category() when called with empty values.

Fix a warning that may occur in certain setups while performing a search, and a few other notices.


Harvey

December 9, 2013 at 11:31 am

I’ve just confirmed that WP 3.7.1 was the issue. I rolled back to 3.7 and it works.

Will probably need to do something in EE, although this may have already been fixed in 4.1


Josh

  • Support Staff

December 9, 2013 at 11:31 am

Hi Harvey,

This may be an issue specific to the ee version that you’re using where the shortcodes aren’t getting parsed unless the WordPress permalink settings are set to Postname. In this case, it looks like your site is set to use the Default permalinks option. Can you try it with the Permalinks set to Postname?


Harvey

December 9, 2013 at 11:39 am

Thanks Josh. I’ll do that in a few weeks after I complete registration for this event. I don’t want my testing to interfere with an urgent need!


Harvey

December 9, 2013 at 12:44 pm

Hmmm….not so simple after all. I seem to be getting intermittent behavior, even with 3.7. I think I’ll leave more problem solving for another time. And pray for the release of 4.1!


Josh

  • Support Staff

December 10, 2013 at 8:08 am

Hi Harvey,

Since it’s intermittent, it may be a network traffic issue. We’ve been seeing the IPN from PayPal be delayed up to 55 seconds between the time the payer returns back to the site and when the Payment Notification actually reaches the site to update the payment status.

In cases where the Payment page loads up and it says the payment is incomplete, after a few minutes does the payment get updated to complete?


Harvey

December 10, 2013 at 8:12 am

That did happen a couple of times with a test event I set up for 1¢. After I refreshed the browser, it showed as complete. However, it didn’t do it every time. And for my $200 event, it’s been incomplete every time.

Perhaps there’s a firewall issue at my host? Do you have any idea what port would be used by Paypal or by EE for the communication? Perhaps I could ask my host to monitor it or check the logs.


Josh

  • Support Staff

December 10, 2013 at 9:15 am

PayPal list a range of IP addresses:

https://cms.paypal.com/uk/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_golivechecklist


Harvey

December 10, 2013 at 9:22 am

Thanks Josh. I’ll ask my host to whitelist these addresses and see if that solves the problem.

Many Thanks!


Harvey

December 10, 2013 at 11:32 am

Drat. My host just checked. Their firewall is not blocking any of these IPs 🙁

Any other suggestions? I did try changing my permalink but there’s a problem – I thin k related to the beta version I’m using. I even need to use short URLs to get viewers to the event page. The full URL never worked.

Beginning to look like a wait for 4.1 is in order!


Josh

  • Support Staff

December 12, 2013 at 9:42 am

Hi Harvey,

When you tested this out on another site and it worked, was it using a PayPal Sandbox account? Also, I checked with Mike N. about this and he ran some tests against the same version of Event Espresso 4 that you have that’s also installed on one of our payment gateway test sites. He wasn’t able to reproduce the issue there. This may indicate there’s something wrong with an account or server configuration.

Normally though, a misconfiguration would cause the payments to not update all the time, not randomly.


TheWHEGroup

December 19, 2013 at 5:54 pm

I’ve been all through the forums looking for something very similar to this issue.

It is intermittent. PayPal IPN is getting a 200 Response. BUT! The payment is not updated in EE and there is NOTHING about the transaction in the EE IPN Log. It is VERY strange indeed. Transactions before and after it that day are all fine. Have checked with server admins and nothing blocked (logs checked). A timeout would not return 200, right?

Something’s up. We’re at 3.1.35.1.P and WP 3.6.1


Josh

  • Support Staff

December 20, 2013 at 7:56 am

Hi TheWHEGroup,

If you have the exact times that the registrations were made that did not get logged in the paypal IPN log you could look in the server’s error log to see if there was anything going on with the server at that time.

It may also help to verify that the pages with the [ESPRESSO_EVENTS], [ESPRESSO_TXN_PAGE], and [ESPRESSO_PAYMENTS] shortcodes are not being cached. This would be either by a caching plugin or by the host.


TheWHEGroup

December 20, 2013 at 4:56 pm

I’m getting those server logs now.

If it helps… These are multi-event registrations payment transactions. They contain both free events and non-free events.

Interestingly, all the non-paid (free) events in the transaction are marked complete (the default is incomplete).

If I attempt to re-send the IPN in that state, PayPal gets a 200 BUT there is nothing in the EE IPN log and the none of the event’s status change.

IF however, I reset that entire transaction to “incomplete” and then resend the IPN, everything works.

Is it possible that because some events are free, the code is marking all the events in that transaction complete and thus skipping the remaining (non-free) events in the transaction because you have code that skips “complete” events during an IPN update?

Peter


TheWHEGroup

December 20, 2013 at 5:15 pm

NO caching enabled, plugin or server side

Server error logs are clear. No errors

Server log shows the incoming IPN

173.0.81.1 – – [20/Dec/2013:11:49:05 -0500] “POST /?page_id=13&id=327&r_id=17-52b474811dde9&event_id=17&attendee_action=post_payment&form_action=payment&type=paypal HTTP/1.0” 200 2252
173.0.81.1 – – [20/Dec/2013:11:49:05 -0500] “POST /?page_id=13&id=327&r_id=17-52b474811dde9&event_id=17&attendee_action=post_payment&form_action=payment&type=paypal HTTP/1.0” 200 2252 “-” “PayPal IPN ( https://www.paypal.com/ipn )”


Harvey

December 21, 2013 at 8:53 am

I just noticed this on my Paypal account:
Payment Receiving Preferences
Note: If you are using IPN, you must update your scripts to handle payments in currencies other than U.S. Dollars.

My prices are in CAD. Perhaps there’s a need to update the EE script?


Josh

  • Support Staff

December 23, 2013 at 10:22 am

@peter, can you start a new thread and we can follow up with you there?

@Harvey, can you go into Event Espresso>Settings>Payment Methods / Payment settings and under the PayPal settings verify that you have the Country Currency set to “Canadian Dollars” ?


Harvey

December 23, 2013 at 6:47 pm

Yes, the country currency is set to Canadian Dollars.


Harvey

December 23, 2013 at 7:10 pm

I just upgraded to WP 3.8 and ran another test on a 1¢ event. Worked fine. I was getting pretty consistent fails earlier. That’s a good sign!

Looks like my problem might have been WordPress. Keeping my fingers crossed.


Dean

December 27, 2013 at 1:49 am

Hi Harvey,

Please keep us updated as to whether the WP update resolved the issue or not.


Harvey

January 9, 2014 at 9:24 am

I think the issue may have been WP 3.7.1. I just tried a payment for $200 under WP3.8. It took about 10-15 seconds for the sync to occur (maybe temporary heavy traffic), but the handshake did finally happen 🙂


Dean

January 9, 2014 at 12:04 pm

That’s great to hear!

I will mark this thread as resolved. If the issue re-occurs, please start a new thread but link to this one.

The support post ‘Paypal IPN not being received by Event espresso’ 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