Built on Stripe. Your money, your account.
Givli never holds your funds. Donations flow donor → Stripe → your charity’s Stripe account. We take a platform fee on top. Payouts, reporting, chargebacks — all run through your own Stripe dashboard.
Donor pays, Stripe settles, you own the balance
We use Stripe Elements on the client and Stripe Connect on the backend. Your charity has its own Stripe account; Givli just routes payments to it and takes a transparent platform fee.
Donor
Enters card in Stripe Elements.
Stripe
Charges, applies fee, routes settlement.
Your Stripe account
Money lands in your balance.
Donors pay in their currency, you see it labeled correctly
Stripe creates the PaymentIntent in the donor’s selected currency. We store the native amount and currency on every transaction so your admin dashboard shows the real donation — not a miscoloured USD approximation.
- •9+ currencies today
- •Per-transaction currency in dashboards and exports
- •Donor bank statement matches your receipt
Security
What we do so you don't have to.
PCI offloaded
Card numbers never touch Givli. Tokenised by Stripe.js in the donor’s browser.
Signed webhooks
Every Stripe event verified with the webhook secret before we act on it.
Sanctum auth
Admin access via HTTP-only token cookies. No localStorage tokens.
Rate-limited endpoints
Payment + auth routes throttled at the application layer.
CSP locked down
Embed routes scope frame-ancestors to whitelisted charity domains.
Audit trail
Key admin actions logged — team role changes, refunds, deletions.
Reliability
How the system behaves when things go wrong.
Idempotent writes
Stripe writes + local record-payment both idempotent — retries are safe.
DB-backed dedupe
Stripe event IDs unique-constrained so retries never double-credit.
Transactional totals
Goal checks use lockForUpdate so concurrent donors never overflow.
Source of truth: Stripe
Refunds, disputes, settlement reconciled from Stripe webhooks.
Drop Givli into your site
Per-charity iframe with domain whitelist. Copy the snippet from your dashboard, paste it into your CMS. Donations happen in-page; receipts come from Givli.
- •
frame-ancestorslocked to your domains - •Colour + button-radius customisation
- •Works with Squarespace, WordPress, Webflow, static HTML
src="https://givli.io/iframe-campaign/your-slug"
width="100%" height="820"
allow="payment *"></iframe>
What’s next
We publish changes as they ship — no vapourware deadlines.
Read-only first (transactions, campaigns, donors), then webhooks to your CRM.
As Stripe enables them in Connect charity accounts we flip them on.
Salesforce + HubSpot syncing evaluated after the API stabilises.
See the platform running your data
Sign up, connect your Stripe account, accept your first donation today.