Posted: 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
|
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: |
|
|
September 27, 2013 at 12:46 pm – Confirmed: transactions/ page is set to be the Notify URL – Attendee Status still not updating. Any more ideas? |
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. |
|
|
OK. We’re getting close. 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”. |
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: 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. |
|
|
OK. Thanks. I’ll give that a whirl. |
|
I removed the sidebars altogether from both these pages: 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 |
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. |
|
|
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. |
|
Are you using any kind of caching plugin on your site? |
|
There is a plugin installed called “WP Super Cache”. It may have already been installed because I didn’t install it manually. |
|
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. |
|
That makes sense. Let me give that a whirl. |
|
Please let us know how you get on. |
|
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. |
|
Here’s the link to my events: http://pcea1.org/event-registration/ |
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. |
|
|
I had to upgrade my hosting package in order to gain access to those log files. |
|
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. |
|
Got access to the EE log files. 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”;} |
|
I also reactivated WP Super Cache > Deleted Cache > Deactivate WP Super Cache. |
|
Checked the PayPal log file as well and it appears that everything is working: |
|
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: 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 |
|
It looks like that attendee with id 150 has been deleted. |
|
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. |
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. |
|
|
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. What do you recommend I set the memory to? |
|
– Updated: php.ini memory limit to 265M |
|
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. |
|
Hey Sidney, |
|
Sorry, I turned it off in the payment settings, but I had it still on in the individual event. It’s off now. |
|
No worries. Just tested the registration process again. 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? |
|
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. |
|
To be honest, I never even heard of PDT – so, nope, I didn’t touch it. |
|
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. |
|
Well, the registration and payment status appears to be working and the Thank You page is now displaying the correct status. Any ideas? |
|
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. |
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.