Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

PayPal IPN Troubleshooting

PayPal should automatically be able to send a message to your site that updates the donation status, using what is called an IPN listener. If you are seeing all of your PayPal donations remain stuck in “Pending” status, this may mean that the IPN listener is not working for you.

Step 1: Check donation logs

The first step is to see whether there are any details in the donation logs explaining why donations are still pending.

  1. Go to Charitable > Donations and click on the “View” link for a particular pending donation.
  2. Scroll down to the Donation Log section. When your site has issues with the IPN, the Donation Log will generally only have a single log entry saying “Donation created” as pictured below:

If your donation shows additional entries in the Donation Log besides just the line above, check through the additional log lines to see if anything indicates what the error might be.

If your donation log looks just like the log pictured above, and you are seeing this for all your PayPal donations (not just a few), there is likely to be a problem with your IPN.

Step 2. Troubleshoot the IPN

Use the PayPal Tester tool

If you are using a version of Charitable prior to 1.5.4, you may see a Sandbox tool included in your PayPal settings area. To check:

  1. Go to CharitableSettings > Payment Gateways and click on the PayPal settings button.
  2. Scroll to the bottom of the settings area and look for the section under the “Run a Test Donation” header.

If you don’t see this section or you are on a more recent version of Charitable, click here to download the PayPal Tester plugin. Once you have downloaded it, install and activate it in your site and then reload the PayPal settings page — you should see the “Run a Test Donation” section now:

<br>

To use the tool, you need to have created at least two sandbox accounts. If you have not created sandbox accounts yet, read this guide to setup your sandbox accounts.

Once you have sandbox accounts ready, you can use the tool:

  1. In the “Sandbox Seller Email Address”, enter the email address of the merchant sandbox account you created.
  2. You will be redirected to PayPal’s Sandbox to pay for a fake donation. You will need to use your buyer sandbox account to make the payment.
  3. Next, you will be returned to your WordPress dashboard and you should receive feedback on whether the IPN notification was successful. You will also receive an email with more details.

If the IPN notification was not successful, it may mean that your web hosting server needs some upgrades; the email you received should have included more details about that.

If your IPN notification was successful but your new PayPal donations continue to remain stuck as Pending, please get in touch with us.

Set your PayPal IPN manually

If you have followed the steps above and you are not receiving the IPN notifications, you can try to set the notification URL.

  1. Log in to your PayPal account.
  2. Click on the gear icon in the top right corner, then click on “Account Settings”.
  3. Click on “Website payments”.
  4. For “Instant Payment Notifications”, click Update.
  5. Click on “Choose IPN Settings”.
  6. In the “Notification URL” field, enter your PayPal IPN URL:
    • either {https://yoursite.com}/charitable-listener/paypal – use this if your site uses pretty permalinks
    • or {https://yoursite.com}/?charitable-listener=paypal – use this if your site doesn’t use pretty permalinks.
  7. Make sure that “Receive IPN messages (Enabled)” is checked, and click the Save button.

Next steps

If problems persist, check the following:

  • Verify that the PayPal account you are using has a verified email address.
  • Check that PayPal is receiving payments in the same currency as Charitable is set up with.
  • If you have a firewall plugin or the Bad Behavior plugin installed, try disabling them temporarily to see if the issue persists.
  • Check your permalink settings under Settings > Permalinks. If you are using a Custom Structure that starts with index.php, this is likely to be the issue.

Finally, if none of the above has fixed the issue, please get in touch with us so we can help you identify what is causing the problem.

Still have questions? We’re here to help!

Last Modified: