Charitable Documentation

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

“PayPal Donation(s) Stuck in Pending” 

If you receive an email with the subject line “[Your Site] PayPal Donation(s) Stuck in Pending”, Charitable Pro is alerting you that one or more PayPal donations have been waiting for payment confirmation for longer than expected. This article explains what the email means, what to check, and how to resolve it.

Available in Charitable Pro 1.8.13+.


What the Email Means

The email looks like this:

Subject: [Your Site Name] PayPal Donation(s) Stuck in Pending

The following PayPal donation(s) have been Pending for more than 24 hours
with no payment confirmation received:

#123456

Please check your PayPal account and update the donation status manually
if payment was received.

View donations: https://yoursite.com/wp-admin/edit.php?post_type=donation&post_status=charitable-pending

Charitable Pro monitors your PayPal donations daily. When a donation has been in Pending status for more than 24 hours without receiving a payment confirmation from PayPal (called an IPN, or Instant Payment Notification), it flags that donation and sends this alert to your site’s admin email address.

This does not mean the donation failed. It means that Charitable Pro has not yet received confirmation from PayPal that the payment was completed. The donor may or may not have paid – you will need to check your PayPal account to find out.

Each donation is only flagged once, so you will not receive repeated emails about the same donation.


Why This Happens

When a donor completes a PayPal payment, PayPal sends a notification to your site in the background. Charitable Pro receives this notification and uses it to update the donation status from Pending to Paid automatically.

If that notification never arrives, the donation stays in Pending indefinitely. The most common reasons this happens:

PayPal IPN is not set up correctly. IPN (Instant Payment Notification) must be enabled in your PayPal account and pointed to your site. If it is disabled or misconfigured, Charitable Pro will never receive confirmation for any PayPal donation.

A security plugin or firewall is blocking the IPN request. Some server-level security tools block incoming POST requests from external services, including PayPal’s IPN callbacks.

The donor did not complete their payment. Donors who start a PayPal checkout but abandon it before paying will create a Pending donation with no IPN to follow.

The payment is genuinely pending in PayPal. Certain payment types, such as eChecks or payments flagged for manual review by PayPal, remain in a pending state in PayPal itself for several days before clearing.


Step 1: Check PayPal First

Before taking any action in WordPress, log into your PayPal account and look up the donation.

  1. Go to your PayPal account and search for transactions around the date and amount of the flagged donation.
  2. Check whether the payment was received, is pending in PayPal, or does not exist.

If the payment was received in PayPal: The IPN notification was lost in transit. See Step 3: Update the Donation Manually below, and then address your IPN configuration so future donations confirm automatically.

If the payment is pending in PayPal (eCheck, review, etc.): No action is needed yet. The donation status will update automatically once PayPal releases the payment and sends the IPN. You may receive another alert if it remains pending for another 24-hour cycle — but note that each unique donation is only emailed once, so this is more likely a new donation.

If no payment exists in PayPal: The donor likely abandoned the checkout. You can mark the donation as Cancelled or leave it as Pending. No payment was collected.


Step 2: Check Your IPN Configuration

If you found that payment was received in PayPal but not reflected in Charitable Pro, your IPN setup needs attention. This is also worth checking proactively if you receive this alert regularly.

For full IPN setup and verification steps, see our PayPal IPN Troubleshooting guide.

The key things to verify:

  • IPN is enabled in your PayPal account settings
  • The IPN notification URL is set to: https://yoursite.com/?charitable-listener=paypal
  • No security plugin (Wordfence, Sucuri, etc.) is blocking POST requests from PayPal’s IP ranges
  • Your site is publicly accessible (not behind a maintenance mode or password protection)

Step 3: Update the Donation Manually

If you confirmed payment was received in PayPal, update the donation status in WordPress manually.

  1. Click the View donations link in the email, or go to Donations in your WordPress admin and filter by Pending status.
  2. Find the donation listed in the email (identified by the # number).
  3. Open the donation.
  4. Change the status to Paid (or the appropriate status) and save.

This will not trigger another payment — it simply updates the record to reflect the payment you already confirmed in PayPal.


If You Keep Getting These Emails

Receiving this alert occasionally for a single donation is not unusual. But if you receive it regularly for multiple donations, it is a sign that PayPal IPNs are consistently not reaching your site.

Common causes and fixes:

IPN is disabled in PayPal. Log into PayPal, go to Account Settings, find Instant Payment Notifications, and enable it. Set the notification URL to https://yoursite.com/?charitable-listener=paypal.

A security plugin is blocking PayPal requests. Check your firewall or security plugin logs for blocked requests from PayPal IP addresses. Whitelist PayPal’s IPN delivery servers if needed.

Your IPN URL has changed. If you recently migrated your site, changed your domain, or moved from HTTP to HTTPS, your IPN URL in PayPal may be pointing to the old address.

For a full walkthrough of diagnosing and fixing IPN delivery issues, see the PayPal IPN Troubleshooting guide.


Adjusting the Notification Threshold

By default, Charitable Pro flags donations that have been Pending for more than 24 hours. You can change this threshold using the charitable_stale_pending_hours filter.

Add this to your theme’s functions.php file or a site-specific plugin:

// Flag donations pending for more than 48 hours instead of 24.
add_filter( 'charitable_stale_pending_hours', function( $hours ) {
    return 48;
} );

You can set this to any number of hours. Setting it higher gives PayPal more time to deliver the IPN before you are notified, which can be useful if you accept eChecks or see occasional IPN delays.


Frequently Asked Questions

Will I get a second email about the same donation?

No. Each donation is flagged only once. Once Charitable Pro sends the alert for a specific donation, it will not send another alert for that same donation, even if it remains in Pending status.

Who receives the email?

The email is sent to the admin email address configured in WordPress under Settings > General > Administration Email Address.

Can I disable these emails?

There is no on/off toggle in the settings UI. To disable the emails, you can remove the hook that sends them:

add_action( 'init', function() {
    $cron = Charitable_Cron::get_instance();
    remove_action( 'charitable_daily_scheduled_events', array( $cron, 'check_stale_pending_donations' ) );
} );

We recommend resolving the underlying IPN issue rather than disabling the alerts, as the alerts exist to prevent missed donations from going unnoticed.

The donation ID in the email doesn’t match what I see in PayPal. How do I find the right transaction?

The number in the email (e.g., #123456) is the WordPress donation ID, not a PayPal transaction ID. To find the matching PayPal transaction, open the donation in your WordPress admin and look for the PayPal transaction or invoice reference stored in the donation details. You can then search for that reference in your PayPal account activity.


Reach Out To Support

If you have followed all the instructions above and still running into problems, contact support.

Related Resources

Still have questions? We’re here to help!

Last Modified:

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Campaigns New

⏳ Campaign Countdown: Drive Urgency and Lift Donations

Urgency is one of the most powerful tools in fundraising! Meet Campaign Countdown—a live, real-time timer built to turn procrastination into immediate generosity.

What’s New:

⏱️ Live, Real-Time Urgency: Beautifully track days, hours, minutes, and seconds down to your campaign’s deadline w/ live-updating visual countdowns.

🎨 Tailored to Your Look: Choose between Boxed bordered tiles or a clean, single-line Inline display. Match your theme instantly with font and deep color controls.

🛠️ Place it Anywhere: Drop the countdown anywhere you like using the Campaign Builder field, a dedicated Gutenberg block, or a simple shortcode.

🚨 Smart Expiry Actions: Total control over the end state—choose to automatically replace the timer with a custom message, freeze it at zero, and more.

Improvement Migrations

↔️ Importing From GiveWP, Donorbox, GiveButter… even CSV!

Whether you’re migrating from another platform or consolidating your records, moving your data to Charitable is now faster and more flexible than ever. We’ve streamlined the process so you can bring over your entire fundraising history in just a few clicks.

🔄 Native GiveWP, Donorbox, & GiveButter Support: Switching from a major platform? Our dedicated migration tools handle the heavy lifting, automatically mapping your donors and donations directly into Charitable—no technical skills required.

📂 Universal CSV Import: Moving from a custom system or a specialized CRM? If you can export it to a CSV, you can import it here. Our smart mapping tool lets you align your columns to Charitable fields like names, emails, phone numbers, and addresses in seconds.

Instant Donor Profiles & Custom Tags: Automatically create rich donor profiles and bring in custom tags to keep your data organized. Segment and engage your supporters from day one with a clean, professional database structure.


Ready to make the switch?

Check out our GiveWP Migration Guide

Learn more about our Import Tools

Improvement Payments

💳 New Braintree Features For Your European Donors

With the release of Braintree addon version 1.3.0, you can now empower your European donors with the payment methods they trust and prefer, making giving seamless for international supporters.

🌍 Six New European Payment Methods: Support popular local options like iDEAL (Netherlands), Bancontact (Belgium), BLIK (Poland), and more to meet donors where they are.

⚡ Frictionless Donor Experience: These bank-based methods allow donors to authenticate directly with their own bank in a secure popup… no credit card numbers required.

⚙️ Automatic Currency Sync: No complex setup needed. The builder automatically displays the correct payment buttons based on your site’s currency (EUR or PLN), ensuring a relevant experience for every visitor.

Campaigns New

🖼️ Campaign Featured Images: Pro-Level Visuals Made Simple

With the new Campaign Featured Image setting in our visual builder, you now have a single, dedicated place to manage how your fundraisers look across your entire site and beyond.

🖼️ One Image, Everywhere: Set a primary thumbnail that automatically syncs to campaign grids, lists, and shortcodes—no more relying on layout order.

📱 Social Sharing Optimized: Easily upload images at the perfect size to ensure your campaigns look stunning and professional when shared on social media.

🔍 SEO & Accessibility Ready: Add custom alt text directly within the builder to improve search rankings and ensure your mission is accessible to every supporter.

Improvement receipts

🗓️ Annual Receipts 2.0: Send Year-End Receipts to Every Donor in Minutes

You can now send annual receipts in minutes with a few clicks to all your donors.

📧 One-Click Bulk Send Wizard that guides you to sending to hundreds of donors simultaneously directly from your WordPress dashboard.

🔍 Smart “Dry Run” Mode: See exactly who will receive a receipt and who will be skipped (and why) before a single email leaves your server.

🛡️ SMTP-Aware & Limit Protection: Charitable now detects your email setup and automatically adjusts batch sizes and pauses for daily limits to ensure your emails land in inboxes.

✅ Complete Audit Trail: Dedicated system log and on the individual donor’s profile, giving you a clear history for every fiscal year.

Stop dreading tax season and start spending that time on your mission. Update to Annual Receipts 2.0 and automate your year-end reporting today.