Documentation

Frequently asked questions

Straight answers about pricing, security, and how things work.

Pricing & licensing

Is the plugin really free?

Yes - including recurring donations, fee recovery, tributes, donor management, receipts, and reports. It's GPL-licensed open source. Planned paid plans add support and advanced tooling, never the fundraising basics. See pricing.

Do you take a cut of donations?

Never. The only fees are Stripe's or PayPal's standard processing fees, and fee recovery lets donors cover those.

Security

Do you store card numbers?

No. Card fields are hosted by Stripe in the donor's browser; PayPal payments complete on PayPal. Card data never touches your server, keeping you in the simplest PCI category (SAQ A).

Can someone fake a donation?

No - a donation is only marked completed after your server verifies payment status directly with the gateway, and webhook events are signature-verified. Amounts are recomputed server-side, so browser tampering can't alter a charge.

Does the plugin run background tasks or phone home?

No. Donor Merchant sends no telemetry and performs no analytics, tracking, or license checks, and it never contacts our servers. When a page loads and nobody is donating, it makes no external or background server requests: the donation form and the goal thermometer render entirely from your own database, with no AJAX polling or heartbeat activity.

On pages that contain the donation form, the visitor's browser loads Stripe.js or the PayPal SDK from the gateway's own CDN, which is exactly what keeps card details inside the gateway's secure fields and off your server. No donor or payment data is sent until someone submits, and on pages without a form those scripts are not loaded at all. Your server contacts Stripe or PayPal only when:

  • a visitor actually submits a donation;
  • a gateway sends an incoming, signature-verified webhook;
  • a donor manages a recurring gift in the donor portal;
  • an outgoing webhook or Mailchimp sync fires on a completed donation, if you turned on integrations.

The plugin schedules one WordPress cron event. On most days it does nothing; on the first of each month it emails your fundraising summary to your own admin address. It makes no external request.

Requirements

What does Donor Merchant need?

WordPress 6.2+, PHP 7.4+, HTTPS, and a free Stripe or PayPal account.

Will it work with my theme or page builder?

Yes - the form is self-contained and placed via block or shortcode, so it works in any theme and every major page builder that supports shortcodes.

Donations & donors

How do refunds work?

Issue the refund in your Stripe or PayPal dashboard as usual. With the Stripe webhook configured, the donation record flips to refunded automatically.

How does a donor cancel a recurring gift?

Cancel the subscription in your Stripe dashboard (Customers → subscription → Cancel) - takes effect immediately and the donor isn't billed again. A donor self-service portal is on the roadmap.

Can I export my data?

Always - donors and donations export to CSV with one click. Your data lives in your WordPress database and goes wherever you go.

Can I use it for things other than charity?

Sure - tip jars, creator support, club dues, community projects. Anywhere "accept money with a simple form" fits. Just mind your local rules about what counts as a tax-deductible donation.

Troubleshooting

The form doesn't appear on my page

The form hides until a payment gateway is configured (admins see a notice with a settings link instead). Add your Stripe or PayPal keys under Settings → Payments.

Receipts aren't arriving

Test WordPress mail first - if other plugin emails also fail, install an SMTP plugin. See email receipts.

Recurring renewals aren't showing up

Renewals are recorded by the Stripe webhook. Set it up per the webhook guide and confirm the endpoint reports 200s in Stripe.

Ready to put this into practice?

Donor Merchant is free, takes minutes to set up, and never touches a card number.

Download Donor Merchant free No signup. No platform fees. Or try the live demo first.