Description
KindLumen – Free Stripe Donation Forms adds a free, Stripe-powered donation form to any WordPress page or post. Show it as a Donate button that opens the form in a popup, as a donation form embedded right in the page, or as a donation campaign with a goal and a live progress bar. Setup is three guided steps, and every donation settles directly in your organization’s own Stripe account.
Free donation forms on your own Stripe account
KindLumen is free for nonprofits, churches, schools, and community groups: no setup fee, no monthly fee, no platform fee, and no limits on donation forms, campaigns, donations, or donors. You connect your own Stripe account — KindLumen never holds your money and never asks your donors to tip. Only Stripe’s standard processing fees apply, and donors can choose to cover them at checkout.
Donation campaigns with goals and progress bars
Raising for a building, a program, or a year-end push? Create a fundraising campaign in KindLumen with a goal, a story, and a picture, then put it on WordPress as a campaign card — amount raised, goal, progress bar, and a Donate button — or embed the full campaign page. The progress bar updates live as gifts arrive, and a campaign can start from what you have already raised offline.
One-time and monthly donations
Every donation form supports one-time and recurring (monthly) giving, suggested amounts and a custom amount, donor-covered fees, Apple Pay and Google Pay through Stripe, and branded email receipts. Donors give without leaving your site.
Three guided steps
- Connect with KindLumen — sign in, or create a free account on the spot, and pick a donation form. Everything is filled in for you: no IDs to copy, no API keys.
- Connect Stripe — done inside KindLumen. WordPress shows you whether donations are open yet.
- Put a Donate button on your site — one click creates a Donate page with the form on it. Or use the embed builder to copy a shortcode or link: popup button, form on the page, campaign card, full campaign page, or a donate link for any button already in your theme.
Highlights
- Free Stripe donation form — branded, mobile-friendly, one-time and monthly, on your own Stripe account.
- Donate button —
[kindlumen_button]opens the donation form in a polished popup. - Embedded donation form —
[kindlumen_form]puts the form right in the page, sized to fit. - Donation campaigns —
[kindlumen_campaign]shows a campaign card with goal and progress bar, or the whole campaign page. - Gutenberg block — “KindLumen Donation Form”: pick a form or campaign from a dropdown and choose button, form, card, or page.
- Menu button and donate links — a pre-styled Donate button in any menu; any link to
#kindlumen-donateopens the popup. - Guided setup — the settings screen walks you through it, shows Stripe status, and creates a Donate page in one click.
- Light and safe — a few kilobytes of CSS and JavaScript; no card or donor data ever touches WordPress.
What it does NOT do
- It does not process payments in WordPress.
- It does not store donor names, emails, amounts, card data, or Stripe IDs in WordPress.
- It does not create donations, donors, campaigns, or reports in WordPress — those live in your KindLumen dashboard.
- It does not ask for Stripe keys, API tokens, or webhook secrets.
Requirements
A free KindLumen account and a Stripe account (free to create). You can create the KindLumen account from the plugin’s Connect button, and Stripe is connected inside KindLumen. The plugin embeds your KindLumen donation form — it doesn’t replace it.
How donations are handled
When a visitor donates, the form is served by KindLumen and the payment is processed by Stripe on KindLumen’s domain, then paid out by Stripe to your bank account. WordPress only displays the embedded form. See the External services and Privacy sections below.
Shortcodes
Donate button — opens the form in a popup:
[kindlumen_button]
Attributes (all optional; fall back to your settings):
form_id— the KindLumen form to open.campaign_id— open a campaign instead of a single form.organization— your organization slug (must match the connected organization; see the FAQ).label— button text (e.g. “Donate”, “Give now”).color— button color as a hex value (e.g.#5C60FF).size—small,medium, orlarge.align—left,center, orright.amount— preselect a donation amount (in your currency’s main unit).frequency—one-timeormonthly.source— attribution label recorded on the donation.class— extra CSS class on the wrapper.title— accessible label for the popup.
Inline form — embeds the form in the page:
[kindlumen_form]
Attributes: form_id, campaign_id, organization, height, min_height, theme (inherited/light/minimal), amount, frequency, source, class, title.
Campaign — a campaign’s card (default), full page, popup button, or form:
[kindlumen_campaign id="spring-2026"]
Attributes: id (the campaign), display (card, page, button, or inline), plus the button/inline attributes above.
Donate link — no shortcode needed: link anything to #kindlumen-donate (or #kindlumen-donate:form:abc123 / #kindlumen-donate:campaign:spring-2026) and clicking it opens the donation popup.
Examples:
[kindlumen_button label="Give now" color="#0a7f5b" size="large"]
[kindlumen_button form_id="abc123" amount="50" frequency="monthly"]
[kindlumen_form]
[kindlumen_form campaign_id="spring-2026" height="760"]
[kindlumen_campaign id="spring-2026"]
[kindlumen_campaign id="spring-2026" display="page"]<h3>External services</h3>
This plugin relies on KindLumen to display and process your donation form.
KindLumen (https://www.kindlumen.com)
- What it is: Your KindLumen-hosted donation form is embedded in an iframe on your WordPress page (as a button popup or inline). All payment processing, donor records, and receipts happen inside KindLumen.
- When data is sent: A request is made to KindLumen each time a page containing the form is viewed (to load the form), when a visitor opens the popup, and when a visitor submits a donation. The one-click connect also sends you to KindLumen and back. Additionally, when an administrator opens Settings KindLumen or the block editor, WordPress asks KindLumen for the connection status (
/api/wordpress/status) so it can show which form is connected, whether donations are open, and the list of your live forms and campaigns to pick from; the answer is cached for about five minutes. - What is sent: The form/organization identifiers you configure; a source label (default “WordPress”); and, only if you turn the matching options on, your site’s public domain and the page address. The status check sends only the organization slug and form id (plus your site address in the request’s user agent). When a visitor donates, the details they enter are sent directly to KindLumen — never to or through WordPress.
- Terms & privacy: https://www.kindlumen.com/terms and https://www.kindlumen.com/privacy
By default the form is loaded from https://www.kindlumen.com. You can point the plugin at a different KindLumen environment in Settings KindLumen Advanced.
Privacy
This plugin does not collect, process, or store any personal data in WordPress.
The donation form is loaded from KindLumen inside an iframe. When a visitor interacts with the form, their information is handled by KindLumen and its payment provider under KindLumen’s privacy policy — not by your WordPress site.
For attribution, the plugin can include the following non-personal information in the embedded form’s URL: a source label you choose (e.g. “WordPress”); optionally your site’s public domain (off by default); and optionally the address of the page showing the form (off by default). No visitor or donor data is added to these.
Screenshots





Blocks
This plugin provides 1 block.
- KindLumen Donation Form A free Stripe donation form: a Donate button, the form on the page, or a donation campaign with a goal and progress bar. Payments and donor data are handled securely by KindLumen and Stripe.
Installation
- Install the plugin from the WordPress plugin directory, or upload the
kindlumen-donation-formsfolder to/wp-content/plugins/. - Activate it. You land on Settings KindLumen, which walks you through the rest.
- Click Connect with KindLumen. Sign in — or create a free account — and choose the form you want. You’re sent straight back with everything filled in. (Prefer to do it by hand? Paste your form link instead.)
- Connect Stripe in KindLumen. The setup screen shows whether donations are open yet and where to go.
- Click Create a Donate page, or add the form yourself:
- Donate button: add
[kindlumen_button]to any page or post. - Inline form: add
[kindlumen_form]. - Block: add the KindLumen Donation Form block and choose Button or Inline.
- Menu: Appearance Menus tick Donate button in the KindLumen box.
- Donate button: add
FAQ
-
Is this donation plugin really free?
-
Yes. The plugin is free, and KindLumen charges organizations nothing: no setup fee, no monthly fee, no platform fee, and no limits on donation forms, campaigns, donations, or donors. Only Stripe’s standard processing fees apply, and donors can choose to cover them at checkout.
-
Do I need a Stripe account?
-
Yes — a free Stripe account, which you connect inside KindLumen (the plugin’s setup screen shows you where). Donations are processed by Stripe and paid out by Stripe directly to your bank account. KindLumen never holds funds.
-
Can I run a fundraising campaign with a goal and a progress bar?
-
Yes. Create a campaign in KindLumen with a goal, a story, a picture, and optionally what you’ve already raised, publish it, and show it on WordPress as a campaign card or a full campaign page — with
[kindlumen_campaign id="your-campaign"]or the block. The progress bar updates live as donations come in. -
Does it support recurring or monthly donations?
-
Yes. Turn on monthly giving for any form in KindLumen; donors choose one-time or monthly at checkout, and Stripe handles the subscription.
-
Can someone change which organization receives the donations?
-
Not through content. Shortcodes and the block always use the organization you connected on the setup screen — an
organizationattribute is ignored unless it matches (or a developer allows extra organizations with thekindlumen_donation_forms_allowed_organizationsfilter). The plugin only ever loads forms from kindlumen.com, the connection can only be changed by an administrator through the one-click Connect flow, and no card or donor data exists in WordPress to steal. -
Do I need a KindLumen account?
-
Yes. This plugin embeds a form you create in KindLumen. If you don’t have an account yet, click Connect with KindLumen on the setup screen — you can create a free account right there and you’ll be brought straight back.
-
[kindlumen_button] shows a Donate button; clicking it opens the donation form in a popup over your page.
[kindlumen_form]places the form directly in the page content. Use the button on busy pages or in menus/hero sections; use the inline form on a dedicated “Donate” page. -
How do I connect without copying IDs?
-
On Settings KindLumen, click Connect with KindLumen. You’ll sign in to KindLumen (if you aren’t already), pick a form, and you’ll be sent back to WordPress with everything filled in.
-
Are payments processed in WordPress?
-
No. Payments are processed entirely by KindLumen and its payment provider on KindLumen’s domain. WordPress only displays the embedded form.
-
Is any donor or payment data stored in WordPress?
-
No. The plugin stores only your display settings (organization slug, form ID, button label, height, and similar). No donor, payment, or card data ever touches WordPress.
-
Can I customize how it looks?
-
Yes. The button’s label, color, size, and alignment are configurable in settings or per shortcode. The inline form’s height and theme are configurable too. The form’s own colors, content, and suggested amounts are set in KindLumen and apply everywhere the form appears.
-
Can I use it with the Classic Editor or a page builder?
-
Yes. The shortcodes work in the Classic Editor, the block editor, and most page builders that render shortcodes.
-
Can I show different forms on different pages?
-
Yes. In Settings KindLumen, step 3 has an embed builder: choose the form or campaign and how to show it, then copy the shortcode. Under the hood that’s
[kindlumen_button form_id="abc123"],[kindlumen_form form_id="abc123"], and so on. The block has the same dropdown. -
How do I show a campaign (goal and progress bar)?
-
Publish the campaign in KindLumen, then in the embed builder choose the campaign and pick Campaign card (goal, progress bar, Donate button — good for a homepage or sidebar) or Full campaign page (story, goal, and form — good on its own page). The shortcodes are
[kindlumen_campaign id="spring-2026"]and[kindlumen_campaign id="spring-2026" display="page"]. The card’s Donate button opens the donation popup right on your page. -
Yes. Set the button’s link to
#kindlumen-donate(the embed builder gives you the exact link, e.g.https://example.org/#kindlumen-donate). Clicking it opens the popup for your connected form. To open a specific form or campaign, use#kindlumen-donate:form:abc123or#kindlumen-donate:campaign:spring-2026. Opening such an address directly (from an email, say) opens the popup as the page loads. -
The easy way (classic menus):
- Connect a default form in Settings KindLumen.
- Go to Appearance Menus. In the KindLumen donation box on the left, tick Donate button and click Add to Menu.
- Click Save Menu. Done — the menu item opens the donation popup and is styled as a button automatically.
If you don’t see the KindLumen box, open Screen Options (top right) and enable it.
Block themes / manual: edit the Navigation block, select the link, and add
kindlumen-donate-triggerunder Advanced Additional CSS class(es). The same class works on any link or button.Either way, the menu item is automatically styled as a pill button matching your button color — no extra CSS needed. Restyle it with your own CSS if you prefer.
-
Donations say “open soon”. Why?
-
Stripe isn’t verified in KindLumen yet. Open Settings KindLumen — step 2 shows the current status and a button to connect Stripe. Once KindLumen reports it as verified, the form takes donations.
-
The form doesn’t appear. What should I check?
-
Open Settings KindLumen. Step 1 shows which organization and form the site is connected to (and warns if the form can’t be found or is still a draft in KindLumen). Logged-in administrators see a short setup message in place of the form when the connection is missing; visitors simply see nothing.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“KindLumen – Free Stripe Donation Forms” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “KindLumen – Free Stripe Donation Forms” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.2
- Security hardening: shortcodes and the block are pinned to the connected organization (an
organizationattribute that doesn’t match is ignored), the KindLumen site URL setting only accepts kindlumen.com or localhost addresses, and the front-end only opens donation popups from the configured KindLumen site — never from a URL found in page content. - New automated tests for the connect handshake, URL allow-listing, organization pinning, and the front-end popup rules.
1.1.1
- Renamed to “KindLumen – Free Stripe Donation Forms” and rewrote the listing around what the plugin does: free Stripe donation forms, Donate buttons, and donation campaigns with goals and progress bars.
- Block: added Stripe, fundraising, and campaign keywords so it’s easier to find in the inserter.
1.1.0
- Guided setup: the settings screen is now three steps — connect KindLumen, connect Stripe, add a Donate button — and shows what’s done.
- Create a free KindLumen account from the connect flow; you’re brought straight back to pick a form.
- Stripe status from KindLumen shown in WordPress, with a link to connect it.
- “Create a Donate page” adds a draft page with the form already on it.
- Activating the plugin opens the setup screen; a reminder appears on the Dashboard and Plugins screens until you’re connected.
- Campaigns:
[kindlumen_campaign]shows a campaign card (goal, progress bar, Donate button) or the full campaign page; the card’s Donate button opens the popup on your page. - Embed builder on the setup screen: pick what to show (your form, another form, or a campaign) and how; copy the shortcode or link.
- Block: “What to show” dropdown of your live forms and campaigns, with card and full-page options for campaigns.
- Donate links: any link to
#kindlumen-donate(optionally:form:{id}/:campaign:{id}) opens the donation popup. - Fixed: the block ignored the connected form when its own fields were left blank.
- Organization slug / Form ID fields moved under Advanced (still filled in automatically).
1.0.0
- Initial release.
- One-click connect with KindLumen (pick a form, no copy-paste).
[kindlumen_button]popup button and[kindlumen_form]inline embed.- KindLumen Donation Form block with Button/Inline display.
- Customizable button label, color, size, and alignment; inline height, theme, and auto-resize.
- Loading state, no-JS fallback, and source attribution recorded on donations in KindLumen.
