Donor Merchant
Donor Merchant is a lightweight donation plugin for nonprofits, churches, schools, and community groups. Drop the donation form on any page with a block or shortcode, connect Stripe or PayPal, and start accepting gifts in minutes.
Unlike most donation plugins, recurring giving is included in the free plugin – monthly, quarterly, and yearly gifts powered by Stripe subscriptions, at no extra cost and with no transaction fees added by us.
Features
- One-time and recurring donations – monthly, quarterly, and yearly giving built in, free.
- Campaigns with goal thermometers – run multiple donation forms, each with its own goal, suggested amounts, and description, and show a live progress bar.
- Donor portal – a passwordless, magic-link dashboard where donors view their giving history, download receipts, and manage recurring gifts (update card or cancel) via Stripe’s secure billing portal.
- Printable receipts & annual tax statements – every gift gets a save-as-PDF receipt, and donors can download a year-end giving statement. No PDF library bloat.
- Offline donations – record checks, cash, and gifts taken elsewhere so donor totals stay complete.
- Stripe – cards, Apple Pay, Google Pay, and bank debit (ACH) via Stripe’s secure Payment Element. Card details never touch your server.
- PayPal – one-time gifts through Smart Buttons, plus recurring PayPal subscriptions.
- Designations / funds – let donors choose which fund their gift supports.
- Integrations – outgoing webhooks (Zapier, Make, or anything) and Mailchimp audience sync.
- Custom fields – add your own questions to the donation form.
- Fee recovery – let donors add a little extra so 100% of the gift reaches you.
- Tributes and memorials – donors can dedicate a gift in honor or in memory of someone.
- Donor management – every donor and gift tracked automatically, with lifetime totals and CSV export.
- Email receipts – customizable thank-you receipts and new-donation notifications.
- Reports dashboard – total raised, monthly totals, average gift, recurring count at a glance.
- Test mode – try everything end to end with Stripe test keys and the PayPal sandbox before going live.
- International – 20 currencies supported.
- Block and shortcodes – the Donation Form block, plus
[donor_merchant],[donor_merchant campaign="N"],[donor_merchant_progress campaign="N"], and[donor_merchant_portal].
How it stays secure
Payment details are collected by Stripe and PayPal directly in the donor’s browser. No card number, expiration date, or CVC is ever transmitted to or stored on your server. Donation totals are always recomputed server-side, payment status is confirmed server-to-gateway, and webhook signatures are verified.
External services
To process donations this plugin connects to third-party payment and (optionally) marketing services. Nothing is sent until you enable and configure a given service.
- Stripe (only when Stripe is enabled). The Stripe.js library is loaded from
https://js.stripe.comon pages that display the donation form, so payment details can be collected securely in the donor’s browser. Your server also calls the Stripe API athttps://api.stripe.comto create payment intents, customers, and subscriptions, and to verify payments. Data sent: donation amount and currency, the donor’s name and email, and the payment details the donor enters (handled by Stripe – they do not touch your server). Stripe terms: https://stripe.com/legal – privacy: https://stripe.com/privacy - PayPal (only when PayPal is enabled). The PayPal JS SDK is loaded from
https://www.paypal.comon pages with the donation form. Your server calls the PayPal API (https://api-m.paypal.com, orhttps://api-m.sandbox.paypal.comin sandbox mode) to create and capture orders and subscriptions. Data sent: donation amount, currency, and an internal reference. PayPal terms: https://www.paypal.com/legalhub – privacy: https://www.paypal.com/privacy - Mailchimp (optional – only when you enable it and the donor opts in). Your server calls the Mailchimp API (
https://<dc>.api.mailchimp.com) to add the donor to the audience you choose. Data sent: donor email and name. Mailchimp terms: https://mailchimp.com/legal/terms/ – privacy: https://mailchimp.com/legal/privacy/ - Outgoing webhooks (optional). If you enter one or more webhook URLs, completed-donation data is POSTed to those URLs – which you control and choose (e.g. your Zapier or Make endpoint). No third party receives data unless you configure it.
Getting started
- Install and activate the plugin.
- Go to Donor Merchant → Settings → Payments and paste your Stripe and/or PayPal API keys.
- Add the Donation Form block (or
[donor_merchant]) to any page. - Test with Stripe test mode, then switch to live.
