• I’ve been using the donate-plus plugin for sometime without issue.
    However, recently all IPN messages from paypal appear to be failing.
    Server responds with a 404 on paypal.php (where the IPN message is supposed to be posted). I note that despite the fact that the paypal.php asset is in the directory, even a wget will 404 on it.
    I’m kind of at a complete loss as to why it is no longer visible to paypal.
    Any ideas?

    thanks.
    .dm

Viewing 5 replies - 1 through 5 (of 5 total)
  • I’m having this exact same issue, anyone have any ideas?

    Thread Starter dmorel

    (@dmorel)

    I think this issue was related to changing the perma links settings from default and/or a caching plugin. See if you’ve messed with either the permalinks settings or added a caching plugin.

    I think that perma links may be the problem. When I updated WordPress recently, I changed from the default for Permalinks and I think that is when the problems started. I have changed back to default and am re-sending the PayPal transactions, which seem to be getting through.

    Thank you!

    Below is what I got from my web hosting support and it worked for me. Read all of it and you will find the fix is in the paypal.php file, near the top: change ‘testing-mode’ to ‘live-mode’. For some reason this is not being changed through your settings in the admin screen.

    After you make this change it may take a couple of days for all of your unsent IPN messages to be sent. You can check their status by logging into PayPal, select “History” from the menu, select “IPN History” from the drop-down. View the list of messages and their status. Some will have a status of “retrying”. Those that have been successful will have a status of “sent”.

    “Regarding the 404 error specifically, this seems to be by design, as the following bit of code shows:
    # Check for IPN post if non then return 404 error.
    if (!$_POST[‘txn_type’]){
    if( $email_IPN_results ) send_mail($send_mail_to,$sysname.” [ERROR – 404]”,”IPN Fail: 404 error!”,””,__LINE__);
    header(“Status: 404 Not Found”);
    die();
    }else{
    header(“Status: 200 OK”);
    }
    —-
    Now that we know Paypal is encountering the same 404 error that I encounter when I attempt to visit https://www.whateveryourdomainis.com/wp-content/plugins/donate-plus/paypal.php via a command line, I suspect the issue is isolated to the settings within the paypal.php file not being setup properly to coincide with what Paypal is sending, or vice versa. It may be entirely isolated to the “$verifymode = $dplus[‘testing_mode’];” setting within this file, needing to be set to “live_mode”.”

    Here’s how I fixed the IPN issue…

    In the donate-plus.php file there are two instances of something like this…
    str_replace(ABSPATH, trailingslashit(get_option('siteurl')), dirname(__FILE__)).'/paypal.php'

    Replace the first so it looks something like this…
    <?php _e('https://www.WEBSITE.COM/wp-content/plugins/donate-plus/paypal.php','dplus');?>

    The second should be…
    $notify = 'https://www.WEBSITE.COM/wp-content/plugins/donate-plus/paypal.php';

    Hope that helps!

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘[Plugin: Donate- Plus] Donate-Plus IPN Failures’ is closed to new replies.