Support

Home Forums Event Espresso Premium Paypal processing payments but statuses not updating.

Paypal processing payments but statuses not updating.

Posted: September 26, 2013 at 7:24 pm


Susan Butterfield

September 26, 2013 at 7:24 pm

Seems like there’s a ton of threads about this topic but they’re all closed or resolved – so here’s mine…

My attendee registrations are successfully processing with Paypal but their statuses are all marked “Incomplete” and the “Available Spaces” is not updating.

Paypal’s IPN is enabled and the Notification URL is set to http://pcea1.org/transactions/, which is publicly published at: http://pcea1.org/transactions/

I am hosting the site with Network Solutions, which appears to be a horrible choice.

I am using the Theme WP-Radiance.

I installed and ran the EE Requirements Check plugin, which gave me this – but I have no clue what it means or if it is even related to my issue:

Warning: file_get_contents() [function.file-get-contents]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /xx/wp-content/plugins/espresso-requirements/espresso_requirements_check.php on line 106

Warning: file_get_contents(http://pcea1.org/wp-content/themes/wp-radiance103/style.css) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /xx/wp-content/plugins/espresso-requirements/espresso_requirements_check.php on line 106

  • This topic was modified 10 years, 7 months ago by  Josh. Reason: removed the server file paths for security


Josh

  • Support Staff

September 26, 2013 at 9:39 pm

Hi Susan,

I checked the transactions page you linked to and it’s not parsing the [ESPRESSO_TXN_PAGE] shortcode. This is likely causing the payment status to not update.

The first thing to verify is that the /transactions/ page is set to be the Notify URL in Event Espresso>General Settings under page settings.

When the transaction page shortcode parses correctly it will display a “No ID was supplied” message when you navigate to the page in a web browser. Here is an example:

https://eventespresso.com/testdrive/transactions/


Susan Butterfield

September 27, 2013 at 12:46 pm

– Confirmed: transactions/ page is set to be the Notify URL
– Confirmed: http://pcea1.org/transactions/ is displaying “An error occurred. No ID or an invalid ID was supplied.”

– Attendee Status still not updating.
– Paypal directs user back to this URL after transaction is complete: https://pcea1.org/?page_id=176&r_id=17-5245d1d00a1af&type=paypal

Any more ideas?


Josh

  • Support Staff

September 27, 2013 at 12:54 pm

Hi Susan,

The return url of

https://pcea1.org/?page_id=176&r_id=17-5245d1d00a1af&type=paypal

is incorrect. It should be:

http://pcea1.org/?page_id=176&r_id=17-5245d1d00a1af&type=paypal

It appears that there’s something setting the return URL to be https instead of http. Is there a box checked where it says something like “Force SSL on return from payment’? If this is checked you can try unchecking it and saving the payment options.


Susan Butterfield

September 27, 2013 at 2:12 pm

OK. We’re getting close.
Not sure how/why it was set to force HTTPS for the return URL.

So now the payments are being process and the Attendee Status is being properly updated in the WP Admin but the “Thank You” page that the users see doesn’t display the correct status. There status still displays the payment as “Incomplete”.


Josh

  • Support Staff

September 27, 2013 at 2:54 pm

Hi Susan,

I agree, we are getting close.

So the next thing I would do is try speeding up the transactions page because there is about a 2 second delay when it tries to load up content from twitter.com in the sidebar. This may be delaying the Instant Payment Notification response on the transactions page.

This can be done in a few ways:

Remove all widgets from the transactions page by using a plugin like widget logic:
http://wordpress.org/plugins/widget-logic/

or you can install our simplified page template onto your WP theme. You can download it from this page:

https://eventespresso.com/wiki/how-to-set-up-paypal-ipn/

How it works is you upload the txnpage.php file to your current theme’s folder, then set the transactions page to use the txnpage template in the WP page editor’s page attributes box.


Susan Butterfield

September 27, 2013 at 3:10 pm

OK. Thanks. I’ll give that a whirl.


Susan Butterfield

September 27, 2013 at 3:22 pm

I removed the sidebars altogether from both these pages:
http://pcea1.org/transactions/
http://pcea1.org/thank-you/

And the Thank You page still displays the following after the user completes the payment on Paypal and gets redirected back to my site:

Class/Event: New Test Workshop
Primary Registrant: Susan Butterfield
Payment Date:
Amount Paid/Owed: $0.25 Incomplete
Payment Status: Incomplete
Registration ID: 19-5245f64905b94


Josh

  • Support Staff

September 27, 2013 at 3:42 pm

Hi Susan,

Can you check the paypal log file that’s in the /wp-content/uploads/espresso/logs directory? It should have a log of each transaction and if there are any errors along with those please lets us know what the errors are.


Susan Butterfield

October 4, 2013 at 10:52 am

It think it’s working now. If I had to guess, it seems like the problem was that the WP database and front-end were not updating at the same time because if I create a new test event…then immediately tested the event by registering for it, the Thank You page displays the wrong Amount Paid status. But if I do nothing but try it a few hours later, it seems to work. Go figure.
Is there anything you can think of that would cause this or anything I should do to correct this?


Sidney Harrell

October 4, 2013 at 11:31 am

Are you using any kind of caching plugin on your site?


Susan Butterfield

October 4, 2013 at 1:12 pm

There is a plugin installed called “WP Super Cache”. It may have already been installed because I didn’t install it manually.


Sidney Harrell

October 4, 2013 at 1:29 pm

There should be a setting in it where you can tell it not to cache certain pages. If not, you might be able to switch to “php caching” and surround the EE shortcodes with the non-caching tag (http://wordpress.org/plugins/wp-super-cache/faq/ under “How do I make certain parts of the page stay dynamic?”). If that doesn’t work, you may need to disable WP Super Cache and/or use a different caching plugin that you can set to not cache the EE pages.


Susan Butterfield

October 4, 2013 at 2:53 pm

That makes sense. Let me give that a whirl.


Dean

October 7, 2013 at 12:43 am

Please let us know how you get on.


Susan Butterfield

October 7, 2013 at 8:30 am

WP Super Cache doesn’t allow me to select certain pages to cache, so I tried disabling cache for “Pages (is_page)”, which I assume disables caching on all my “Pages” and not “Posts”, which I think is fine.

I then ran through registration process for a workshop that I published a few weeks ago. After completing the PayPal transaction, I was redirected by to the Thank You page, which still lists my “Amount Paid/Owed” status as Incomplete.

I then deactivated the WP Super Cache plugin altogether and ran through the whole registration process again and I still get the same erroneous “Amount Paid/Owed” status on the Thank You page.

Just for kicks, I refreshed the Thank You page to see what would happen and I got this error. Let me know if this provides any insight:

“Warning: array_merge() [function.array-merge]: Argument #2 is not an array in /data/25/3/9/27/3009516/user/3341508/htdocs/WordPress/wp-content/plugins/event-espresso/gateways/process_payments.php on line 30”

Feel free to run through the registration process yourself on the test event I just created called “Event Espresso Test Event” so that you can see if there’s anything that I’m missing.
Don’t worry, I’ll refund your $0.25 PayPal payment.


Susan Butterfield

October 7, 2013 at 8:31 am

Here’s the link to my events: http://pcea1.org/event-registration/


Josh

  • Support Staff

October 7, 2013 at 9:34 am

Hi Susan,

Apologies if you’ve already checked this before and did not find any errors, but can you check the paypal log file that’s in the /wp-content/uploads/espresso/logs directory?

It should have a log of each transaction and if there are any errors along with those please lets us know what the errors are.

This will help narrow down any issues with the communication between your site and PayPal. It sounds like it works sometimes, and does not work othertimes. So it could be timing out.


Susan Butterfield

October 8, 2013 at 7:52 pm

I had to upgrade my hosting package in order to gain access to those log files.
…stay tuned.


Sidney Harrell

October 9, 2013 at 10:20 am

Even deactivating WP Super Cache may not keep it from serving up previously cached pages. The way it works is it generates static html files and modifies the .htaccess file to serve up the static html file if it exists before trying to generate it with php. You may need to delete the cached files before it stops serving them up. They should be in wp-content/cache.


Susan Butterfield

October 9, 2013 at 2:19 pm

Got access to the EE log files.
I don’t see an error in this gobbledegook I extracted from the last registration – but maybe you do?

Payment for: gieger, Chris|| registration id: 22-5255b1ff92ed5|| transaction details: a:37:{s:8:”mc_gross”;s:4:”0.25″;s:22:”protection_eligibility”;s:10:”Ineligible”;s:12:”item_number1″;s:0:””;s:8:”payer_id”;s:13:”EESPKZE52KJPE”;s:3:”tax”;s:4:”0.00″;s:12:”payment_date”;s:25:”12:43:19 Oct 09, 2013 PDT”;s:14:”payment_status”;s:9:”Completed”;s:7:”charset”;s:12:”windows-1252″;s:11:”mc_shipping”;s:4:”0.00″;s:11:”mc_handling”;s:4:”0.00″;s:10:”first_name”;s:5:”Chris”;s:6:”mc_fee”;s:4:”0.25″;s:14:”notify_version”;s:3:”3.7″;s:6:”custom”;s:0:””;s:12:”payer_status”;s:8:”verified”;s:8:”business”;s:18:”pcea@optonline.net”;s:14:”num_cart_items”;s:1:”1″;s:12:”mc_handling1″;s:4:”0.00″;s:11:”verify_sign”;s:56:”AnnU3uDGtFRxmiXgfexa.2BIbZzeApCQn22KOE3eazEKSySeyYvV5uqD”;s:11:”payer_email”;s:16:”chris@gieger.com”;s:12:”mc_shipping1″;s:4:”0.00″;s:4:”tax1″;s:4:”0.00″;s:6:”txn_id”;s:17:”0DN21332AT0390528″;s:12:”payment_type”;s:7:”instant”;s:9:”last_name”;s:6:”Gieger”;s:10:”item_name1″;s:71:”General Admission for Event Espresso Test Event. Attendee: Chris gieger”;s:14:”receiver_email”;s:18:”pcea@optonline.net”;s:11:”payment_fee”;s:4:”0.25″;s:9:”quantity1″;s:1:”1″;s:11:”receiver_id”;s:13:”YR6DZ4ZA5BT66″;s:8:”txn_type”;s:4:”cart”;s:10:”mc_gross_1″;s:4:”0.25″;s:11:”mc_currency”;s:3:”USD”;s:17:”residence_country”;s:2:”US”;s:19:”transaction_subject”;s:0:””;s:13:”payment_gross”;s:4:”0.25″;s:12:”ipn_track_id”;s:13:”fd4bbd5fc129d”;}


Susan Butterfield

October 9, 2013 at 2:47 pm

I also reactivated WP Super Cache > Deleted Cache > Deactivate WP Super Cache.
Still get the same erroneous “Amount Paid/Owed” status on the Thank You page.


Susan Butterfield

October 9, 2013 at 2:55 pm

Checked the PayPal log file as well and it appears that everything is working:
The line for each transaction that would show an error says:
Errors resulting from the execution of curl transfer: [10/09/2013 3:44 PM] – SUCCESS!


Susan Butterfield

October 9, 2013 at 2:57 pm

I’m also getting these emails from PayPal:

Hello Susan Butterfield,

Please check your server that handles PayPal Instant Payment Notifications (IPN). IPNs sent to the following URL(s) are failing:

http://pcea1.org/?page_id=178&id=150&r_id=5-5252bf877c810&event_id=5&attendee_action=post_payment&form_action=payment&type=paypal

If you do not recognize this URL, you may be using a service provider that is using IPN on your behalf. Please contact your service provider with the above information. If this problem continues, IPNs may be disabled for your account.

Thank you for your prompt attention to this issue.

Thanks,

PayPal


Sidney Harrell

October 9, 2013 at 5:38 pm

It looks like that attendee with id 150 has been deleted.
Can you send login info to here.


Susan Butterfield

October 9, 2013 at 7:59 pm

Yeah, that’s because I was attendee ID 150. I deleted it because I was just testing the registration.

I’ll submit the login info now.


Josh

  • Support Staff

October 10, 2013 at 3:20 pm

Thanks for sending these.

I checked and it looks like the caching plugin was deactivated while caching was turned on. It’s best to turn caching off before deactivating a caching plugin (as Sidney mentioned earlier, it will still serve cached pages).

The site seems really slow. So I installed the simplified transactions page template so the transactions page loads up much more quickly now.

I also reactivated WP super cache, deleted the cache, and turned off caching. The Event Espresso pages are now in the “do not cache” list. So if you’d like you can enable caching again.

You might also check with the host to see if they can increase the amount of memory available. The WP installation seems to maxing out the amount of memory it has.


Susan Butterfield

October 10, 2013 at 6:41 pm

Thanks for trying but, unfortunately, I’m still getting the same statuses on the Thank You page even though the payment goes through fine on PayPal and the attendee is added properly to the EE backend.
Amount Paid/Owed: $0.25
Payment Status: Incomplete

What do you recommend I set the memory to?
Is this set in the php.ini file?
It’s currently set to 128MB.


Susan Butterfield

October 10, 2013 at 7:13 pm

– Updated: php.ini memory limit to 265M
– Updated: define( ‘WP_MEMORY_LIMIT’, ‘256M’ );
– Delete php.coalesced.ini to force the server to re-generate it on the next PHP load.
Still getting:
Amount Paid/Owed: $0.25
Payment Status: Incomplete


Sidney Harrell

October 10, 2013 at 11:22 pm

Hey Susan, did some testing and digging on your site, and I think I tracked down the problem. I changed a couple lines in gateways/paypal/paypal_vars.php so that when the IPN message comes back from paypal, it doesn’t get redirected by the pretty permalinks. Specifically, these 3 lines:

$myPaypal->addField('return', add_query_arg( array('r_id'=>$registration_id, 'type'=>'paypal'), get_permalink($org_options['return_url'])));
	$myPaypal->addField('cancel_return', get_permalink($org_options['cancel_url']));
	$myPaypal->addField('notify_url', add_query_arg( array('r_id'=>$registration_id, 'type'=>'paypal', 'id'=>$attendee_id, 'event_id'=>$event_id, 'attendee_action'=>'post_payment', 'form_action'=>'payment'), get_permalink($org_options['notify_url'])));

I switched the site into paypal’s sandbox mode, ran a test transaction, and switched it back. The test came back with the attendee marked completed. Feel free to run some tests of your own, and let us know if that clears the problem up.


Susan Butterfield

October 11, 2013 at 8:50 am

Hey Sidney,
It looks like “PayPal Debug Mode Is Turned On” and I can not run my tests.
Are you sure you switched it back?


Sidney Harrell

October 11, 2013 at 8:58 am

Sorry, I turned it off in the payment settings, but I had it still on in the individual event. It’s off now.


Susan Butterfield

October 11, 2013 at 9:54 am

No worries.

Just tested the registration process again.
Still getting this status on the Thank You page.
Amount Paid/Owed: $0.25 (!)
Payment Status: Incomplete

Could it be that the Network Solutions environment is just so dang slow that it doesn’t populate the database with the PayPal data fast enough to display the proper status on the Thank You page?


Sidney Harrell

October 11, 2013 at 1:37 pm

Did you guys turn on Payment Data Transfer? (https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/paymentdatatransfer/) I was doing some testing and the data getting sent back to the thank-you page along with the customer changed. We’ve found that the customer is getting sent back to the thank-you page about 40 seconds before the IPN message hits the transactions page. I was trying to bullet-proof it to handle that situation when the data getting sent to the thank-you page changed, and it looks like the new data is PDT data. Let me know if you can turn that off, we should be able to wrap this up for you. Thanks.


Susan Butterfield

October 11, 2013 at 3:28 pm

To be honest, I never even heard of PDT – so, nope, I didn’t touch it.
I did log into PayPal and followed the instructions on the page you linked to and the PDT was set to “On”. So I turned it “Off”.
I’ll try testing it again.


Sidney Harrell

October 11, 2013 at 3:31 pm

Ok, as long as you’ve turned it off, I can proceed to bullet proof our code against the delay of the IPN message to the transactions page. I’ll let you know when I’m done. Thanks.


Susan Butterfield

October 11, 2013 at 3:33 pm

Well, the registration and payment status appears to be working and the Thank You page is now displaying the correct status.
However, right before I am redirected from PayPal back to the site, I get a popup saying “This form will be sent in a way that is not secure. Are you sure you want to send it?”.

Any ideas?


Sidney Harrell

October 11, 2013 at 4:06 pm

That’s strange, I’m not getting that. It might be a browser warning because you are going from an https site to an http site with POST data. The only way to get rid of it would be to put an ssl cert on your site. You can get a free one from http://cert.startcom.org/. It’s a little bit of a geeky process, you have to put a browser cert on your computer to authorise your login to their site from your computer, but it’s safe.
We’ve bullet-proofed it as much as we can. If the IPN message is delayed, and the customer gets to the thank-you page first, they will get a status of “Pending” instead of “Incomplete”.

The support post ‘Paypal processing payments but statuses not updating.’ 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