End of year and we are getting membership renewals. We've used PayPal for years no problem, but since Dec 1, the IPNs (instant purchase notifications) are not working correctly. The transactions are left in the 'Pending' state. I've gone into PayPal's IPN history page and manually resent a few IPNs and they they go through and are then marked as 'Completed' in CiviCRM. But due to bugs in the PayPal history page I can only resend for payments for the last few days. Why are they not going through the first time? This just started happening this month.
I found the patch line:
$paypalParams['notify_url'] = rawurldecode($paypalParams['notify_url']);
and added it to the CRM/Core/Payment/PayPalImpl.php file (I have a different file version from the github entry but found the spot anyway.) Then I made a contribution and the IPN worked, transaction marked as Completed in CiviCRM. Unfortunately there was an error someplace when returning to our site from PayPal's 'return to merchant' link.
We can't load the requested web page. This page requires cookies to be enabled in your browser settings. Please check this setting and enable cookies (if they are not enabled). Then try again. If this error persists, contact the site administrator for assistance.
Site Administrators: This error may indicate that users are accessing this page using a domain or URL other than the configured Base URL. EXAMPLE: Base URL is http://example.org, but some users are accessing the page via http://www.example.org or a domain alias like http://myotherexample.org.
Error type: Could not find a valid session key.
This is as far as I have gotten with this.
CiviCRM: 5.29.1 Wordpress: 5.5.3