WordPress.org

Plugin Directory

Mission – Donation Plugin for WordPress – Fundraising & Recurring Donations

Mission – Donation Plugin for WordPress – Fundraising & Recurring Donations

Description

Mission is a free WordPress donation plugin built for nonprofits. Accept one-time and recurring donations, manage donors and campaigns, give your supporters a self-service dashboard, and track everything from a modern admin, without paying for a single add-on.

Most donation plugins lock the features you actually need behind a paid tier. Recurring donations? Add-on. Custom fields? Add-on. Donor dashboards, fee recovery, exports? Add-on, add-on, add-on. Mission takes a different approach: every feature ships in the free plugin, and we’re funded by an optional tip donors can choose to add at checkout. Donors can change the tip, lower it, or set it to zero. 100% of the donation amount always reaches your nonprofit.

The result is a donation platform that grows with your organization without surprise upgrade prompts. The plugin you install today is the plugin handling your donations next year, with no upsell screens between you and your supporters.

✨ Why Mission

No paid add-ons. Ever.
Recurring donations, donor dashboards, campaign management, custom fields, tribute donations, fee recovery, exports, activity logs. All included in the free plugin. There is no “Mission Pro” version, no premium tier, and no upsell at checkout.

Modern donation forms that convert.
Multi-step forms with suggested amounts, custom amounts, tribute dedications, anonymous donations, optional fee recovery. Built to feel quick and trustworthy on every device.

Built for performance.
The donation form is built on the WordPress Interactivity API, so there’s no React on the public-facing site, no bloated JavaScript, and fast page loads for your donors. Donor data lives in dedicated database tables, not post meta, so reporting stays fast as your donor list grows into the thousands.

💝 Powerful donation forms

The Donation Form block can be dropped into any post, page, or campaign. Configure it once and it adapts to your campaign and your brand:

🔁 Recurring donations included free

Recurring donations are the single biggest revenue lever for nonprofits, and they’re the feature other plugins charge extra for. Mission ships them free:

👥 A donor dashboard your supporters will actually use

Drop the Donor Dashboard block on any page and your supporters get a self-service portal. They can:

Every action your donors can take in the dashboard is one less email in your inbox.

🎯 Campaign management

Run a single ongoing campaign or dozens of named campaigns side by side:

Mission ships eleven campaign and donation blocks: donation form, donate button, campaign card, campaign grid, campaign image, campaign progress bar, campaign statistic, donor wall, recent donors, top donors, and donor dashboard. Mix and match them to build campaign pages that match your brand. Not using the block editor? Every block has a shortcode equivalent that works in page builders like Elementor and Bricks.

📊 Reports and exports you can actually use

The admin dashboard surfaces what fundraisers care about: total revenue, donation count, average donation, repeat donor count, top donor, and month-over-month growth, in test and live modes side by side.

Need the data outside WordPress? Export donors, transactions, campaigns, and subscriptions to CSV or JSON in a single click.

A built-in activity log records every donation, refund, subscription event, webhook, email, and admin action with a 90-day retention window so you can audit anything that happened on your site.

🧑‍🤝‍🧑 Who Mission is for

Mission is built to fit any organization or individual raising money online:

🫙 How the optional tip model works

Mission is funded by donor tips, not by selling features. Here’s exactly how that works:

Source Code

The full, unminified source code for this plugin is publicly available on GitHub at https://github.com/mission-wp/mission

See the README in the repository for full development setup, contribution guidelines, and a description of the build pipeline.

External Services

This plugin connects to the following third-party services:

Stripe processes donations. Payment data is sent from the donor’s browser to Stripe via Stripe.js, and Stripe sends webhook notifications back for payment, refund, and subscription events. See Stripe’s Terms and Privacy Policy.

Mission API proxies Stripe Connect onboarding, payment requests, and webhook forwarding to your site. If you opt in to feature notifications under Tools > Features, your email is also sent here. See Mission’s Terms and Privacy Policy.

Gravatar supplies donor avatars in the admin and on the Donor Wall block. Email addresses are hashed before being sent. See Gravatar’s Terms and Privacy Policy.

Screenshots

Blocks

This plugin provides 11 blocks.

Donor Wall Display a grid of donations for a campaign. Campaign Statistic Display a key statistic for a campaign, such as total raised or number of donors. Donate Button A customizable donate button that scrolls to a donation form or links to a URL. Recent Donors Display a list of recent donors for a campaign. Donation Form Donation form Campaign Image Display the image associated with a campaign. Campaign Progress Display campaign fundraising progress with a progress bar and stats. Top Donors Display a ranked list of top donors for a campaign. Donor Dashboard A self-service portal where donors can view donation history, manage recurring gifts, download tax receipts, and update their profile. Campaign Grid Display multiple campaigns in a responsive grid layout. Campaign Card Display a campaign as a card with image, progress, and a link to its page.

Installation

  1. Upload the mission-donation-platform folder to /wp-content/plugins/, or install Mission directly from the WordPress.org plugin directory.
  2. Activate the plugin through the Plugins menu in WordPress.
  3. Open the new Mission menu and click Connect Stripe to link your Stripe account. Onboarding takes about two minutes through Stripe Connect.
  4. Create your first campaign under Mission Campaigns, set a goal, and customize the donation form.
  5. Add the Donation Form block (or any of Mission’s eleven blocks) to a page, and you are ready to accept donations.

FAQ

Is Mission really free?

Yes. Every feature ships in the free plugin. There is no Pro tier, no premium add-ons, and no plan to introduce one. Mission is funded by optional tips that donors can choose to add at checkout. They can change the tip, lower it, or set it to zero, and 100% of the donation amount always reaches your nonprofit.

Will I ever be asked to pay for a feature?

No. There is no upgrade prompt, no upsell screen, and no premium version. The plugin you install today includes every feature Mission ships, and that is not going to change.

Which payment gateways are supported?

Mission currently supports Stripe via Stripe Connect for credit and debit card donations. We focused on building a deep Stripe integration before adding more gateways.

Does Mission support recurring donations?

Yes. Recurring donations are included free, with no add-on required. Donors can choose weekly, monthly, quarterly, or annual frequencies (configurable per form). Renewals are processed automatically via Stripe with retry on failure, and donors can pause, resume, or cancel their own subscriptions from the donor dashboard.

Do donors need an account to donate?

No. The donation form is fully public and requires no account. If a donor wants to manage their recurring donations or download receipts later, they can sign in to the donor dashboard with a magic link sent to the email address they used when donating.

Can I customize the donation form?

Yes. Every form has its own settings: amounts, frequencies, fields, fee handling, color, anonymous donation toggle, tribute support, and custom fields (text, textarea, select, radio, checkbox). Layout, spacing, and typography use WordPress’s native block controls, and themes can restyle the form freely thanks to low-specificity CSS, --mission-* custom properties, no !important declarations, and no inline styles.

Can I use Mission with Elementor, Bricks, or the Classic Editor?

Yes. Every Mission block has a shortcode equivalent that works anywhere shortcodes do, including page builders like Elementor, Bricks, and Divi. The available shortcodes are [mission_donation_form], [mission_donate_button], [mission_campaign], [mission_campaign_grid], [mission_campaign_image], [mission_campaign_progress], [mission_campaign_statistics], [mission_donor_wall], [mission_recent_donors], [mission_top_donors], and [mission_donor_dashboard]. Attributes mirror the block settings in snake_case, for example: [mission_donation_form campaign_id="12" amounts="10,25,50" default_amount="25"].

How is Mission different from GiveWP or Charitable?

The headline difference is the business model. GiveWP and Charitable both run on a freemium model where the most useful features (recurring donations, fee recovery, custom fields, advanced reports, peer-to-peer fundraising) are paid add-ons that stack into a meaningful yearly cost. Mission flips this: every feature is free, and the platform is funded by optional donor tips instead.

If you want a single open-source plugin without surprise costs, and Stripe handles your payments, Mission is the simplest path to launch.

Where can I get support?

Free community support lives on the WordPress.org support forum and on GitHub issues. Feature requests, bug reports, and questions are all welcome there.

How do I report a security issue?

Please report security issues privately by emailing hello@missionwp.com rather than opening a public GitHub issue. We will respond promptly and credit you in the changelog if you would like.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Mission – Donation Plugin for WordPress – Fundraising & Recurring Donations” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Mission – Donation Plugin for WordPress – Fundraising & Recurring Donations” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.3.1

1.3.0

1.2.0

1.1.7

1.1.6

The full changelog for earlier releases is available on GitHub.

Meta

Ratings

No reviews have been submitted yet.

Contributors

Support

Issues resolved in last two months:

3 out of 3

View support forum