Changelog — Donately
All notable changes to this app are recorded here. Newest entries on top.
[2026-05-10]
- Initial release. Donately is here. Create as many donation forms as you need, share a clean URL with donors, and collect money straight into your own Stripe or Paystack account.
- Four hand-crafted designs. Pick from Quiet (minimal sage), Editorial (print-spread serif), Native (iOS glass), or Progress (campaign goal bar). Each works in light and dark mode and lets donors toggle.
- Per-form custom domains. Map any verified domain to a specific donation form so
donate.yourbrand.org opens your spring appeal, not a generic page. Configure under Account → Domains; Donately appears with a picker for which form the domain should point at.
- One-time and monthly recurring. Donors choose on the form. Recurring runs on Stripe Subscriptions or Paystack Plans; webhooks renew automatically; admin can cancel from the donor profile.
- Tenant-owned payment keys. Each install enters its own Stripe and Paystack keys in Settings. Money flows straight to you — Mypancho takes no cut and never holds your funds.
- Donor profiles, deduplicated by email. Repeat donors land as the same record, not a new row. Total given, donation count, first/last gifted dates, and admin-only notes.
- Real reports. Daily revenue chart, recurring vs one-time split, top forms, top donors, recurring health (active subscribers, past-due, MRR, churn).
- Cover the fee toggle lets donors absorb processor fees so 100% of their gift reaches you. Auto-computed by provider and currency.
- Custom fields per form. Collect t-shirt size, employer for matching, dedication name — whatever you need, optional or required.
- Goal progress bar on the Progress design. Live tracker of raised vs goal with donor count and days left.
- Staff seats. Invite teammates as view-only staff. They see donations and donors but not Settings or Forms creation.
- Refund window. Configure how long after a donation admins can refund directly from the donation detail page.
Internal
- Stripe path uses the Payment Element (not legacy
card element) for SCA / 3DS support out of the box. Paystack path uses the official PaystackPop popup.
- Webhook handlers verify HMAC signatures, are idempotent on
(provider, event_id), and record events to a local webhook_events log for debugging.
- The four design files (
views/public/styles/*.php) are 1:1 ports of the original JSX designs at apps/donately/source/_extracted/forms/. Both light and dark palettes live in donately_form_palette().