Short answer: For nonprofits and personal fundraisers wanting a real donation platform, GiveWP is the dominant pick (100K+ installs, free PayPal+Stripe+Venmo gateways, full donor management) and Charitable is the strongest competitor with a similar feature set and slightly lower commercial pressure. For a simple “Donate” button without donor profiles or reports, the legacy Donations via PayPal plugin is still the leanest option, and Accept Donations with PayPal & Stripe by Scott Paterson is the modern equivalent that adds Stripe alongside PayPal in the free version. For ecommerce – actual products with carts and checkout – WooCommerce PayPal Payments is the official integration from WooCommerce and is the only one of these you should use if you are running a WooCommerce store. If you want the donor experience that Kickstarter and GoFundMe set the standard for without rolling your own, Donorbox is the embedded SaaS option, which is a different architectural answer to the same question. The thing every “best PayPal plugin” roundup skips: the use case decides the plugin, not the brand. A donation site and an ecommerce site need different plugins, and stacking them produces conflicts that break checkout.
| Plugin | Free or paid | Best for | Skip if |
|---|---|---|---|
| GiveWP | Free + Pro ($149/yr+) | Nonprofits, fundraising campaigns, donor management, recurring giving | You only need a single Donate button – the platform is heavier than necessary |
| Charitable | Free + Pro ($129/yr+) | Donation sites that want the GiveWP feature set without the StellarWP upsell pressure | You need every gateway in the free tier – some live behind Pro add-ons |
| WooCommerce PayPal Payments | Free (transaction fees apply) | WooCommerce stores accepting PayPal, Venmo, Pay Later, and cards through PayPal | You are not on WooCommerce – this plugin requires it |
Donations via PayPal (
paypal-donations
) | Free | Bare-minimum “[paypal-donation]” shortcode for a sidebar widget or page button | You need recurring donations, donor records, or anything beyond a one-time button |
| Accept Donations with PayPal & Stripe | Free + paid extensions | Sites wanting both PayPal AND Stripe donate buttons in one free plugin | You need full donor management and reporting |
| Donorbox | Free plugin + 1.75% platform fee on donations | Nonprofits wanting a Kickstarter-style donor experience without self-hosting the form logic | You do not want to pay a percentage on every transaction |
The honest framing most PayPal-plugin roundups skip: “PayPal” is a payment method, not a category of plugin. The right WordPress plugin depends on what you are trying to do – accept donations, sell physical or digital products, take a one-time payment for a service, or run a fundraising campaign with recurring giving. Each of those has a best answer, and the answers do not overlap. WP Simple Pay, frequently listed in articles like this one, is a Stripe-only plugin and does not support PayPal at all – we left it out of this lineup deliberately because including it would be a category error.
Donations vs. ecommerce: the choice that decides the plugin#
Before comparing plugins, pick a side.
Donations. A donor gives an amount, optionally on a recurring schedule, sometimes anonymously, sometimes with a tax-receipt requirement. There is no shopping cart. There is no shipping address (usually). The unit being collected is generosity – the donor’s intent is to give, not to buy. Donor management (knowing who gave, when, how much, whether they want anonymous credit, whether they need a 501(c)(3) receipt) is the central feature. GiveWP, Charitable, Donorbox, and the paypal-donations / easy-paypal-donation pair all live in this space.
Ecommerce. A customer buys a specific product, expects a confirmation, expects a delivery (digital or physical), and expects a clear refund path. The cart and checkout flow matter. The plugin needs to integrate with shipping, taxes, inventory, and post-purchase fulfillment. WooCommerce PayPal Payments is the right tool here, and it is the only plugin in this article that fits the ecommerce use case.
Mixed use (a nonprofit selling merchandise alongside donations, a creator with a tip jar and a course store) usually means two plugins, not one: WooCommerce for the products plus GiveWP or Charitable for the donations. The two interoperate without conflicts. Trying to repurpose a donation plugin for product sales, or a commerce plugin for fundraising, ends in unhappy compromises – you spend an afternoon turning off “shipping” labels for digital donations or twisting a donation form to issue an order receipt.
There is also a middle case worth flagging: service businesses taking one-time payments (consultations, deposits, custom work). Neither category is a perfect fit, and most teams in this position end up with a Stripe-only plugin like WP Simple Pay or with a forms plugin (Gravity Forms, Fluent Forms) that has a PayPal add-on. PayPal-specific plugins are rarely the best fit for “I need to take $200 for a logo design” because PayPal’s invoicing tools are simpler than any plugin you would install to wrap them.
Why PayPal at all: still relevant, but not what it was#
Before discussing plugins, the awkward question every honest PayPal-plugin roundup needs to answer: should you use PayPal in 2026?
PayPal’s market position has shifted. Stripe dominates the developer-facing checkout integration market. Square dominates in-person retail. Apple Pay and Google Pay have eaten the “tap to pay” wallet category. PayPal itself has retired or rebranded several products (Standard Donate Button, classic Express Checkout, the original NVP/SOAP API). The current API is the PayPal Commerce Platform, which is what every modern plugin in this list integrates against.
What PayPal still does well in 2026:
- Donor familiarity. A meaningful percentage of donors trust the PayPal logo more than a credit card form. For nonprofits and small fundraisers, removing PayPal as an option measurably reduces conversion.
- International reach. PayPal handles 25 currencies and is available in more than 200 markets. Stripe is comparable but historically less so for cross-border donations to small organizations.
- Buyer protection. PayPal’s dispute and chargeback flows are well-known to consumers, which reduces transaction abandonment for first-time visitors.
- Pay Later (BNPL). PayPal’s Pay in 4 and Pay Later integrate seamlessly with the PayPal Commerce Platform. For higher-value commerce transactions, the conversion lift from offering BNPL is real.
Where PayPal struggles in 2026:
- Standard Donate Button is gone. The classic “donate by email address” hosted button has been deprecated. Most legacy “PayPal donate” plugins built around it are either updated to use the Commerce SDK or quietly broken.
- Account holds. PayPal still freezes funds with little notice for sustained-volume small businesses and small nonprofits, often for 21 days or longer. This is the single most common operational complaint.
- Fee structure. Standard PayPal fees (2.99% + $0.49 for US merchants, varying internationally) are competitive but not the cheapest option, especially for nonprofits that often qualify for reduced rates with vendors like Stripe (2.2% + $0.30 for verified 501(c)(3)) or Donorbox.
- Subscription handling. PayPal subscriptions have historically been less reliable than Stripe Subscriptions for handling card-update events, dunning, and renewal failure recovery. This matters for recurring donations.
The right answer for most sites is: offer PayPal as one of multiple payment options, do not rely on it as the only one. Every plugin in this article (with the exception of the bare-minimum
paypal-donations
plugin) supports stacking PayPal alongside Stripe or another card processor. Donors and buyers self-select the option they prefer; you do not have to choose for them.
How we picked these six plugins#
The wordpress.org plugin directory has dozens of “PayPal” plugins. Many are abandoned, several are wrappers around the now-deprecated classic PayPal API and will silently stop working, and a non-trivial number are thin Contact Form 7 add-ons that just redirect to a hosted PayPal page.
We covered the six plugins that are actively maintained as of May 2026, integrate with the current PayPal Commerce Platform (or, for the donations-only bare-minimum option, still work with PayPal’s hosted donate flow), and represent architecturally distinct approaches.
What we deliberately skipped:
- WP Simple Pay. It is an excellent Stripe plugin (covered tangentially in the membership plugins roundup for Stripe Smart Retries handling), but it does not support PayPal. The wordpress.org listing for WP Simple Pay states this explicitly: “WP Simple Pay connects to Stripe (and Stripe only).” Including it in a PayPal article would mislead readers.
- Authorize.Net, Square, and Braintree-only plugins. Out of scope for a PayPal article. Some of these (notably Braintree, which is owned by PayPal) accept PayPal payments via the Braintree gateway, but they are not “PayPal plugins” in the search-intent sense.
- Contact Form 7 PayPal extensions, Gravity Forms PayPal add-ons, Fluent Forms PayPal integrations. These are forms-first plugins with PayPal grafted on. Reasonable for collecting payment alongside a sign-up or contact submission, but they do not own the PayPal-payment intent the way a dedicated payments plugin does.
- Recurring PayPal Donations by wpecommerce. 800+ active installs, last update for WordPress 6.8.5 (no 6.9 or 7.0 testing). Still alive, but the user base is too small and the maintenance signal too weak to recommend over GiveWP or Charitable for recurring use cases.
- WP Express Checkout by mra13. 2,000+ installs. Same author as the bare-minimum
paypal-donationsplugin; this is the for-products variant. Niche, and most readers wanting commerce should be on WooCommerce, not on a separate Express Checkout plugin. - Better Payment, Paymattic, SureCart, Forminator with PayPal. These are general-purpose payment or form plugins where PayPal is one feature among many. Useful in their own right, not the right answer when “PayPal plugin” is the actual search intent.
- Anything that integrates against the deprecated PayPal Standard / Donate Button API. Several legacy plugins still in the directory have not been updated for the Commerce Platform migration. We checked each finalist against PayPal’s current SDK as of May 2026.
Verified-status table (last checked 2026-05-09):
| Plugin | Source | Active installs | Last update | Tested up to |
|---|---|---|---|---|
| GiveWP | wordpress.org/plugins/give | 100,000+ | Apr 22, 2026 | 6.9.4 |
| Charitable | wordpress.org/plugins/charitable | 10,000+ | Apr 13, 2026 | 6.9.4 |
| WooCommerce PayPal Payments | wordpress.org/plugins/woocommerce-paypal-payments | 600,000+ | Apr 27, 2026 | 6.9.4 |
Donations via PayPal (
paypal-donations
) | wordpress.org/plugins/paypal-donations | 20,000+ | Mar 27, 2026 | 7.0 |
Accept Donations with PayPal & Stripe (
easy-paypal-donation
) | wordpress.org/plugins/easy-paypal-donation | 10,000+ | (active) | 6.9.4 |
| Donorbox | wordpress.org/plugins/donorbox-donation-form | 8,000+ | (active) | 6.8.5 |
GiveWP#
Use it if: You run a nonprofit, charity, school, religious organization, or any fundraising effort that needs more than a single donate button. You want a real donor management system – knowing who gave, what they gave, generating tax receipts, sending thank-you emails, exporting donor lists for grant applications.
Don’t use it if: You only need a “Donate” button on a personal blog or hobby site. The plugin is feature-dense and the admin UI exposes a lot of campaign and reporting machinery you will never use. For that use case, the bare-minimum
paypal-donations
plugin is the right tool.
What you get (free):
- PayPal Donations gateway (no extra fees from GiveWP, just PayPal’s standard transaction rates)
- Stripe gateway (with an additional GiveWP fee on free users – the docs are explicit about this)
- Venmo as a Stripe-routed donation option
- Offline donations (record cash and check gifts manually for unified reporting)
- Campaign-based fundraising with goals, progress bars, and dedicated landing pages
- Customizable donation forms with the visual form builder
- Donor dashboard where donors can manage recurring donations, update payment methods, download receipts
- Fundraising reports with date filters and CSV export
- Form Field Manager (basic version) for adding extra fields
- WordPress block-editor blocks for donation forms, donor walls, and campaign comments
- WPCharitable-style “Donate Now” modal forms
What you get (Pro and add-ons, $149/yr starting):
- Recurring Donations add-on (the most commonly bought add-on – free version’s recurring is limited)
- Peer-to-Peer Fundraising
- Text-to-Give
- Custom form fields beyond the free Form Field Manager
- Fee Recovery (let donors optionally cover the processing fees)
- Tributes (in memory of / in honor of giving)
- PDF Receipts
- Funds & Designations (donors choose where their gift goes within your organization)
- Authorize.Net, Square, Razorpay, Bitpay gateways
Common gotchas:
- The free Stripe gateway has an additional GiveWP fee (the docs are upfront about this; check the latest fee schedule before committing). The free PayPal gateway does not have this added fee.
- “Recurring” donations in the truly powerful sense (subscription dunning, smart retries, donor self-service for failed renewals) requires the Recurring Donations add-on. Free recurring is limited.
- The plugin is now part of StellarWP (a Liquid Web brand). Add-on pricing is bundled into “Pricing Plans” rather than per-add-on a la carte. The Plus and Pro plans get expensive fast for small nonprofits.
- The campaign-based architecture (added in 4.0, March 2025) was a significant restructure. Older sites migrating from pre-4.0 GiveWP need to walk through the campaign migration carefully – the form-to-campaign mapping is mostly automatic but occasional edge cases require manual cleanup.
Charitable#
Use it if: You want a feature set comparable to GiveWP’s free tier with less commercial pressure in the admin UI, or if you have already used Awesome Motive’s other plugins (WPForms, MonsterInsights, OptinMonster) and prefer that ecosystem. The free version handles PayPal, Stripe, and Square donations on equal footing.
Don’t use it if: You need GiveWP’s specific feature set (campaign-based fundraising landing pages, the donor wall blocks, peer-to-peer add-on) and have already standardized on it. There is no compelling reason to migrate from one to the other if the existing plugin works.
What you get (free):
- PayPal donations
- Stripe donations
- Square donations
- One-time and basic recurring donations (recurring is more capable in Pro)
- Donation forms with a drag-and-drop builder
- Donor dashboard
- Email receipts
- Campaign goals and progress bars
- Payment recovery for failed transactions
What you get (Pro, $129/yr starting):
- Advanced recurring donations
- Crowdfunding / peer-to-peer fundraising
- Fee Relief (donor covers processing fees – similar to GiveWP Fee Recovery)
- Anonymous donations
- Donation tributes
- More gateways (Authorize.Net, Mollie, Razorpay, etc.)
- Mailchimp, ActiveCampaign, Constant Contact, ConvertKit integrations
- Annual receipts (consolidated tax receipts at year end)
Common gotchas:
- Charitable was acquired by Awesome Motive (the company behind WPForms, OptinMonster, MonsterInsights, and others) and rebranded as part of their plugin family. The admin UI now includes upsell prompts for sibling plugins. Less aggressive than the GiveWP-StellarWP relationship but still present.
- Annual receipt generation (consolidated end-of-year donation totals for tax purposes) is Pro-only. For US 501(c)(3) organizations, this is usually the deciding factor between free and Pro.
- Stripe pricing inside Charitable does not include the additional plugin-level fees that GiveWP charges free users. This is a real practical difference for small nonprofits weighing the two.
- Fewer third-party add-ons than GiveWP’s catalog. If you need a niche integration (Bitpay, Authorize.Net e-check, peer-to-peer competition), GiveWP’s add-on directory is deeper.
WooCommerce PayPal Payments#
Use it if: You are running a WooCommerce store and want to accept PayPal, Venmo (US), Pay Later, credit cards, and PayPal-routed local methods (Bancontact, iDEAL, etc.) through one official PayPal-maintained integration.
Don’t use it if: You are not on WooCommerce. This plugin requires WooCommerce; it is not a standalone PayPal button or donation tool.
What you get (free):
- PayPal Standard, PayPal Smart Buttons (the modern Commerce Platform integration)
- Venmo (US merchants, on supported devices)
- PayPal Pay Later (BNPL for higher-ticket items)
- Standard Card Processing (PayPal-hosted card fields)
- Advanced Card Processing (vaulted card fields with 3D Secure for higher-trust merchants)
- Pay Upon Invoice (Germany)
- Country-specific local payment methods routed through PayPal
- Subscription support for WooCommerce Subscriptions
- Apple Pay, Google Pay through PayPal
- Webhook handling for delayed-confirmation gateways
- Cart-page and product-page Smart Buttons (skip the cart and check out directly)
What you do NOT pay extra for:
- The plugin itself is free. Standard PayPal transaction fees apply (2.99% + $0.49 in the US for personal transactions, business pricing varies). PayPal’s own pricing schedule is the only cost.
Common gotchas:
- This plugin replaces both the legacy “PayPal Standard” and the legacy “PayPal Express Checkout” plugins. If you are upgrading from either, follow PayPal’s upgrade guide carefully – settings do not migrate cleanly. The wordpress.org listing has a dedicated upgrade guide link.
- Advanced Card Processing (the vaulted-card option) requires merchant-account approval and is not available to every PayPal account holder. Standard Card Processing works for everyone but uses hosted PayPal-iframe card fields, which some store owners find too distinct from their checkout theme.
- Webhook configuration matters. If your
wp-jsonREST endpoint is blocked or rate-limited at the server level, asynchronous payment confirmations (especially Pay Upon Invoice) can fail silently. Check that PayPal’s webhook deliveries are reaching your site after install. - Subscription handling went through several iterations in the 4.x branch. As of 4.0+, recurring billing is reliable, but sites that upgraded from 3.x with active subscriptions should verify their subscription tokens transferred properly.
- Conflicts with third-party “PayPal Express” or legacy PayPal plugins are common. Uninstall those before activating WooCommerce PayPal Payments.
Donations via PayPal (paypal-donations)#
Use it if: You want a single shortcode that drops a PayPal donate button into a sidebar widget, page, or post. No donor management, no reports, no campaigns. The plugin has been maintained continuously since 2009 and last updated March 2026.
Don’t use it if: You need to know who donated, when, or how much, beyond what you can see in your PayPal account dashboard. You need recurring donations. You need anything beyond a single button.
What you get:
-
[paypal-donation]shortcode - Sidebar widget with donate button + custom text
- Per-instance overrides for purpose and reference (so you can have different “Donate to project A” vs “Donate to project B” buttons)
- Currency selector (PayPal-supported currencies)
- Localized button graphics for major languages
- Custom button URL (use your own button image instead of PayPal’s)
- Optional default donation amount
What you do NOT get:
- Donor records, reports, or any data inside WordPress
- Recurring donations (PayPal’s hosted donate flow does not support them)
- Form builder, custom fields, conditional logic
- Tax receipts, donor dashboards, anonymous-giving controls
- Stripe, Square, or any non-PayPal gateway
Common gotchas:
- The plugin embeds your PayPal email address (or merchant ID) directly in the rendered button HTML. A 2025 review on the wordpress.org listing flagged that this exposes the email to scrapers – “I dutifully forwarded all phishing emails to PayPal’s spoof@paypal.com…” – and the issue is real. Use a PayPal Merchant ID rather than an email address if you can, but even then your full name shows up in the popup. For sites that already use disposable email addresses or business-only PayPal accounts, this is fine. For personal sites it is a real privacy consideration.
- This plugin uses the PayPal Standard donate flow. PayPal has been migrating merchants toward the newer Commerce Platform, but the hosted Donate Button remains supported for nonprofits and is unlikely to disappear in the short term.
- No webhook integration. If a donation is reversed, refunded, or disputed, you find out by reading your PayPal dashboard, not by getting a WordPress notification.
- “Recurring” donations are not supported. PayPal’s hosted donate flow is one-time only. For recurring, you need GiveWP, Charitable, or one of the platform-style options.
Accept Donations with PayPal & Stripe (easy-paypal-donation)#
Use it if: You want both PayPal and Stripe donate buttons in one free plugin without standing up a full donation platform. Author claims “Official PayPal & Stripe Partner” status; the plugin has 10,000+ active installs.
Don’t use it if: You want recurring donations, donor management, or campaigns. This is a tier above bare-minimum but still below GiveWP and Charitable in feature depth.
What you get (free):
- PayPal donate button (Commerce Platform integration, not legacy)
- Stripe donate button alongside PayPal in the same widget
- Multiple donation forms (different purposes, different default amounts)
- Custom button styling
- Currency support across PayPal and Stripe
- Email notifications on donation receipt
What you get (paid extensions):
- Recurring donations
- Custom amounts vs preset tiers
- Goal trackers and progress bars
- Donor management lite (transaction logging within WordPress)
- Email customization
Common gotchas:
- Sits in the gap between “single button” (paypal-donations) and “platform” (GiveWP, Charitable). For sites in that gap it is the right answer; for sites that have outgrown a single button it is worth checking whether you have actually outgrown the platform-class options too.
- “Official Partner” status is not the same as “this plugin is built by PayPal.” It means the developer has gone through PayPal’s partner program. Worth knowing for your due diligence; not a reason to discount the plugin.
- Smaller user base than the platform-class options means smaller community support. Issues that GiveWP’s support team would close in 24 hours can sit in the wordpress.org forum here for several days.
Donorbox#
Use it if: You want the Kickstarter or GoFundMe-style polished donor experience without rolling your own form logic. You are willing to pay a 1.75% platform fee on every donation in exchange for a hosted, continuously-improved donation experience that you do not maintain.
Don’t use it if: You do not want to pay a percentage on every transaction. Or you have strict data-residency requirements (Donorbox stores donor data on its own infrastructure, not in your WordPress database).
What you get:
- Embedded Donorbox forms via WordPress plugin (the plugin is a thin wrapper around the Donorbox SaaS)
- Polished donor experience with one-time, monthly, annual, and custom-frequency options
- PayPal and Stripe routed through Donorbox’s merchant relationship
- Apple Pay, Google Pay support
- Donor management dashboard at donorbox.org (separate from WordPress)
- ACH (US bank-to-bank) for higher-value donations
- Goal trackers, progress bars, donor walls
- Tax-receipt automation (US 501(c)(3) and Canadian charities)
- Recurring donation management for donors (they can update their card, change amount, cancel from a single donor portal)
What you do NOT get:
- Self-hosted control of donor data
- Customization down to the form-field level (you customize within Donorbox’s UI; it is more constrained than GiveWP or Charitable)
- One-time setup fee model – the 1.75% per donation is ongoing
Common gotchas:
- The 1.75% Donorbox fee is on top of PayPal’s or Stripe’s processing fees. For high-volume nonprofits, the math can favor self-hosting (GiveWP free with PayPal Donations gateway has zero added platform fee). For low-volume or new nonprofits, the operational simplicity often wins.
- Donor data lives on Donorbox’s infrastructure. If you migrate away later, exporting historical donor data is possible but requires API work or support tickets. For nonprofits with strict donor-privacy commitments, this is a contract review consideration.
- The wordpress.org plugin is a wrapper; the actual product is Donorbox itself. Plugin updates are infrequent because most product changes happen on the Donorbox side.
Quick-reference matchup table#
| If you… | Pick |
|---|---|
| Run a 501(c)(3) nonprofit and need full donor management | GiveWP free, upgrade to Pro when fundraising volume justifies it |
| Want GiveWP-class features without the StellarWP upsells | Charitable |
| Need free recurring donations as the headline feature | GiveWP Pro or Charitable Pro – free tiers have limited recurring |
| Run a WooCommerce store wanting to accept PayPal | WooCommerce PayPal Payments (do not stack with another PayPal plugin) |
| Need a single “Donate” button on a sidebar, nothing fancy | Donations via PayPal (
paypal-donations
) |
| Want PayPal AND Stripe donate buttons in one plugin without a platform | Accept Donations with PayPal & Stripe (
easy-paypal-donation
) |
| Want a Kickstarter-style hosted donor experience and accept the platform fee | Donorbox |
| Sell physical or digital products on WordPress | WooCommerce + WooCommerce PayPal Payments (not a donation plugin) |
| Take one-time payments for services (consultations, deposits) | Stripe-only plugin like WP Simple Pay or PayPal Invoicing – PayPal-specific WordPress plugins are not the right fit |
| Run BOTH donations and product sales on the same site | Two plugins: WooCommerce + GiveWP or Charitable, configured independently |
| Need to migrate away from the deprecated PayPal Standard Donate Button | GiveWP or Charitable for donations, WooCommerce PayPal Payments for commerce – both use the current Commerce Platform API |
How long does it take to see results#
| Time after installing | What changes |
|---|---|
| Same day | First test donation or test purchase completes through PayPal’s sandbox. Your donate button or checkout page renders. If it does not, you have a configuration issue (almost always credentials or a webhook URL) – resolve before going live. |
| First week | First real donations or sales arrive. Email notifications fire. PayPal account shows the funds (with the standard 21-day hold for new accounts on PayPal’s side). |
| First month | Donor or buyer behavior patterns become legible. Average donation size, conversion rate from page-visit to button-click to completed transaction. For ecommerce, cart abandonment rate at the PayPal step becomes measurable. |
| First quarter | Recurring donation cohorts (if applicable) reach their second renewal cycle. Failed renewals start surfacing – GiveWP and Charitable both have email-on-failure capability; configure it before this point. |
| First year | Annual receipts, year-end reports, donor retention metrics become useful. For 501(c)(3) nonprofits, this is when the donor-management feature set actually pays off – re-soliciting last-year’s donors is dramatically more effective with proper donor records than without them. |
Common mistakes#
- Stacking two PayPal plugins on the same site. The most common cause of broken checkout. Pick one and uninstall the other. WooCommerce PayPal Payments + a separate “PayPal donate button” plugin is fine; two ecommerce-grade PayPal plugins or two donate-button plugins is not.
- Using a donation plugin for product sales. GiveWP and Charitable can technically take a one-time payment that looks like a product purchase, but they do not handle inventory, shipping, taxes, fulfillment, or refund flow. The receipts are wrong (donor receipts, not order confirmations). Use WooCommerce instead.
- Using a commerce plugin for donations. Symmetric mistake. WooCommerce technically allows a “donation product,” but the cart, shipping, and tax flow is wrong for donations. Donors do not want to “add to cart” and “check out” with shipping fields when giving $25.
- Forgetting to set up webhooks. Several plugins (especially WooCommerce PayPal Payments and GiveWP’s PayPal Commerce gateway) rely on PayPal webhooks to confirm payment status. If your
wp-jsonREST endpoint is blocked or rate-limited, payments can complete on PayPal’s side but fail to register in WordPress. Test with a sandbox transaction before going live. - Treating PayPal Standard as a current option. PayPal has been migrating merchants away from the classic Standard Payments / Donate Button API. The bare-minimum
paypal-donationsplugin still works because the hosted Donate Button remains supported for nonprofits, but for ecommerce or modern donation flows, all current plugins use the Commerce Platform. - Not testing the recurring failure path. A donor’s card expires. What happens? The good plugins email both you and the donor. The mediocre ones silently fail and you discover the lapse a quarter later when revenue dips. Test the failure path in sandbox before launching recurring donations.
- Using a personal PayPal account for a nonprofit. PayPal’s nonprofit pricing (reduced fee structure for verified 501(c)(3) accounts) only applies if the receiving account is set up as a Charity account. Many nonprofits leave money on the table by running through a personal account. Apply for the nonprofit account upgrade before hitting volume.
- Skipping the email-receipt customization. Default GiveWP, Charitable, and WooCommerce PayPal Payments receipts work, but they read like default plugin output. Donors who feel personally thanked give again at meaningfully higher rates. Customize the receipt before you have given out a thousand of them.
- Ignoring PayPal’s account-hold risk. PayPal’s 21-day fund hold on new and irregular accounts is real and has cratered cash flow for small nonprofits running short fundraising campaigns. Build a reserve, or supplement PayPal with Stripe (which has its own holds but with different triggers).
- Not offering an alternative. A non-trivial percentage of donors and buyers will not use PayPal. Some have had bad experiences with disputes; some do not have an account; some are in countries where PayPal is unreliable. Offering Stripe alongside PayPal typically lifts conversion 5-15% on donation pages, which is far larger than the operational cost of running two gateways.
Summary#
For nonprofits and fundraising sites, GiveWP is the dominant pick and Charitable is the strongest alternative – both have free tiers that are genuinely useful, and the “Pro” decision usually comes down to whether you need recurring-donation depth, peer-to-peer fundraising, or annual receipts.
For WooCommerce stores, WooCommerce PayPal Payments is the only correct answer. Do not stack it with other PayPal plugins.
For sites that just need a “Donate” button on a sidebar with no donor reporting, the legacy
paypal-donations
plugin still works and is the lightest option. If you want both PayPal and Stripe donate buttons in one plugin,
easy-paypal-donation
adds Stripe alongside PayPal at the same tier.
For nonprofits that prefer a hosted SaaS experience and are willing to pay a platform fee, Donorbox is the embedded option that removes the maintenance burden.
The deciding question is not which plugin has the most features, but which use case fits – donations or commerce, single button or platform, self-hosted or SaaS. Pick the side first, then the plugin almost picks itself.
For broader plugin coverage, see the best WordPress membership plugins for recurring-revenue plugins that compete with the donation-platform tier, the best WordPress security plugins for the WAF and scanning layer that protects your payment endpoints, and the best WordPress 2FA plugins for protecting the admin accounts that have access to your gateway credentials.