Muin is in private beta.Watch the public release announcement —talk to us.
Falaah Falaah AI
Platform

26 Ways to Accept Payments, Donations, and Registrations with Muin

The complete matrix of embeddable payment, donation, and registration combinations available in Muin -- from giving pages to kiosk mode, event tickets to subscription widgets.

FT
Falaah Team
· · 5 min read
26 Ways to Accept Payments, Donations, and Registrations with Muin

Most organizations cobble together three or four tools to handle giving, ticket sales, form submissions, and recurring payments. Muin replaces that patchwork with a single platform that offers 26 distinct embedding combinations — each one deployable as a standalone page, an embedded widget, a kiosk interface, or an iframe.

This post maps every combination.

How It Works

Every combination shares the same underlying infrastructure: a sub-25KB vanilla JavaScript widget loader served from https://muin-api.falaah.ai/embed/widget.js, Shadow DOM for style isolation, server-sent events for real-time updates, and a unified contact record. The embed pattern:

<script src="https://muin-api.falaah.ai/embed/widget.js" data-tenant="your-org" data-type="button"></script>

Widget types: button, form, thermometer, popup, floating, banner.


Nonprofit and Giving (1-11)

#CombinationPublic URLDeep Dive
1Standalone Giving Page/go/{slug}/donate/{page}Guide
2Giving Page + Smart Form/go/{slug}/donate/{page}Guide
3Giving Page + Thermometer/go/{slug}/donate/{page}Guide
4Thermometer Iframe (compact)/embed/thermometer/{uuid}Guide
5Full Campaign Embed/embed/campaign/{uuid}Guide
6Iframe on Website/go/{slug}/donate/{page}Guide
7Peer-to-Peer Fundraising/go/{slug}/donate/{page}Guide
8Tribute / Memorial Giving/go/{slug}/donate/{page}Guide
9Kiosk Donation Mode/go/{slug}/kiosk/donateGuide
10Donor Portal/go/{slug}/donorGuide
11Grant Application Portal/go/{slug}/grants/applyGuide

Vertical overview: 11 Ways to Accept Donations

Standalone giving page with preset amounts and inline Stripe card widget

The same engine adapts to every fundraising scenario. A few examples seeded on muin-demo you can preview:

  • Form fields + donation widget on one screen — Gala registration with attendees, dietary, accessibility, and a custom-amount Stripe widget on the same page. Annual Fundraiser Gala — registration form with Stripe payment widget on the same screen

  • Pledge-only (no card) — donors commit now, send via Zelle, check, or wire later. The reconciliation matcher links the incoming bank transaction back to the pledge. Pledge giving page — Zelle, check, or wire commitment without card

  • Themed campaign giving — same flow, different look. Ramadan dark-mode and Building Expansion accessibility high-contrast both ship out of the box. Ramadan Food Drive giving page in dark-mode theme with hero image


Events (12-15)

#CombinationPublic URLDeep Dive
12Free Event Registration/go/{slug}/event/{id}Guide
13Paid Event with Tickets/go/{slug}/event/{id}Guide
14Event Thermometer/embed/event-thermometer/{uuid}Guide
15Kiosk Check-In/go/{slug}/event/{id}Guide

Vertical overview: Event Registration and Tickets

Free event registration form

Paid event registration uses the same engine — registration form fields and tiered fee presets next to a real Stripe card widget on a single screen:

Community 5K paid registration with T-shirt size, emergency contact, tiered fees, and Stripe widget


Smart Forms (16-19)

#CombinationPublic URLDeep Dive
16Standalone Smart Form/go/{slug}/form/{template}Guide
17Smart Form + Payment/go/{slug}/form/{template}Guide
18Volunteer Signup/go/{slug}/volunteerGuide
19Membership Enrollment/go/{slug}/membershipGuide

Vertical overview: Smart Forms That Connect

Volunteer form


Widget Placements (20-23)

Any of the combinations above can be deployed as a widget placement. These are delivery mechanisms, not standalone combinations.

#Combinationdata-typeDeep Dive
20Popup WidgetpopupGuide
21Floating Action ButtonfloatingGuide
22Banner WidgetbannerGuide
23Multi-Widget ConfigMultiple tagsGuide

Vertical overview: Popup, Floating, and Banner Widgets

Popup widget


POS and Small Business (24-26)

#CombinationPublic URLDeep Dive
24Payment Page/go/{slug}/pay/{token}Guide
25QR Code to Payment/go/{slug}/pay/{token}Guide
26Subscription Recurring/go/{slug}/subscribe/{plan}Guide

Vertical overview: Accept Payments Anywhere


Additional Public Pages

These pages support the 26 combinations above:

PageURL
Support / Help/go/{slug}/support
Grants Application/go/{slug}/grants/apply

Iframe Embeds

For sites that prefer iframes over script tags, three iframe embed URLs are available:

EmbedURL
Campaign Thermometer/embed/thermometer/{uuid}
Full Campaign/embed/campaign/{uuid}
Event Thermometer/embed/event-thermometer/{uuid}

All iframe routes include frame-ancestors * in the CSP header, allowing embedding on any domain.


What Makes This Different

One contact record. Whether someone donates, registers for an event, fills out a form, or buys a subscription, their record is the same. No duplicate contacts.

One reporting layer. Revenue from donations, ticket sales, form payments, and subscriptions all appear in the same financial reports.

One configuration surface. Branding, payment processing, email templates, and workflow triggers are configured once and applied everywhere.

The Technical Foundation

All 26 combinations run on the same embed architecture: a sub-25KB vanilla JavaScript loader, Shadow DOM for CSS isolation, server-sent events for real-time updates, and CORS headers for cross-origin embedding. For the engineering deep dive, see How We Built Real-Time Embeddable Widgets.

The Vision

Configure once, deploy everywhere. For the full argument on why this matters, see One Platform, Every Touchpoint.