I have implemented the two popular fixes found on Google both in the donate-plus.php and inside paypal.php.
I have also started to review the code in donate extra’s paypal.php and almost all of the code is the same as donate plus’s paypal.php with the notable exception of the fix on line 30 inside paypal.php
require("../../../wp-load.php");
instead of
require("../../../wp-blog-header.php");
I am going to see if these fixs make this plugin work with WP 4.0
These fixes have done it. My IPN’s are coming through on WP 4.0
IN donate-plus.php change the following code
line 323
OLD <code><?php echo str_replace(ABSPATH, trailingslashit(get_option('siteurl')), dirname(__FILE__)).'/paypal.php';?></code>
NEW <code><?php _e('http://www.YOUR-SITES-URL.com/wp-content/plugins/donate-plus/paypal.php','dplus');?></code>
line 395
OLD $notify = str_replace(ABSPATH, trailingslashit(get_option('siteurl')), dirname(__FILE__)).'/paypal.php';
NEW $notify = 'http://www.YOUR-SITES-URL.com/wp-content/plugins/donate-plus/paypal.php';
—-
IN paypal.php
line 30
OLD require("../../../wp-blog-header.php");
NEW require("../../../wp-load.php");
Hope that helps people out 🙂