Built on Stripe. Your organization's own account.
Givli never holds donor funds. Every donation is processed by Stripe and settles directly to your organization’s own Stripe account, with our platform fee disclosed up front. Payouts, reporting, and disputes all run through your own Stripe dashboard.
Donor gives, Stripe processes, your organization owns the balance
We use Stripe Elements on the client and Stripe Connect on the backend. Your organization has its own Stripe account; Givli provides the donation experience and reporting, and our platform fee is disclosed transparently.
Donor
Enters card in Stripe Elements.
Stripe
Processes the payment and applies the disclosed fees.
Your Stripe account
Funds settle to your organization’s 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 organization 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-organization 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 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.