FAQ
Questions people ask first#
Short answers to what an admin wants to know before installing a fundraising package into a live Salesforce org — and a link to the page that treats each subject properly.
Before you install#
Which Salesforce editions does this work with?#
Enterprise, Unlimited, Performance, and Developer. Professional edition works for internal use — recording gifts your staff take over the phone — but not for public donation pages, because Experience Cloud is not available on Professional. Full requirements are in Installation.
Is there anything we have to install first?#
No. It is a single managed package with no separate dependency. The Apex layer is built on the FFLib Apex Enterprise Patterns library, but that library is vendored inside the package — there is nothing to install alongside it and nothing to keep in step.
Do we need the Nonprofit Success Pack?#
No. NPSP is detected at runtime, never required, and the package behaves identically without it. If you do run NPSP, an optional sync mirrors recurring donations and fund designations into NPSP's own objects; if you do not, nothing about the package changes.
Do we need Experience Cloud?#
Only to take donations from the public. An Experience Cloud site is what hosts the donation form, the donor portal, and the event registration pages. Internal-only use needs no site at all. Creating the site is a manual step the package does not automate — see Set up your Experience Cloud site.
Where do we configure all of this?#
One tab. The Settings console opens on a Get Started checklist of the one-time post-install steps, with every other panel available and editable at any time — see the Setup assistant tour.
Donors and data#
Does this work with Person Accounts?#
Yes, and you do not choose. Every donor-facing object carries two lookup fields — one for Contact, one for Person Account — and donor identity resolves to whichever your org uses. Nothing in the package hard-codes one model. See Donors & accounts.
Where does our data live?#
In your org. This is a native Salesforce package, not a hosted platform with a Salesforce connector: there is no external database holding your donors, no nightly sync to reconcile, and no second system that can disagree with your reports. A donation is a standard Opportunity from the moment it is confirmed.
Do donors need a login?#
No. A donor types the email they gave when they donated, receives an 8-character sign-in code in that mailbox, and enters it — two screens, no account created, no password to remember or reset. The code buys a session that lives in the browser tab and never appears in the address bar, so there is no link to forward and nothing in a browser history or a proxy log that would open someone's dashboard. Signed in, donors see their giving history, manage recurring gifts and saved cards, and download tax statements. See The donor portal.
Payments#
Do card numbers ever reach Salesforce?#
No. Stripe.js collects the card in an iframe served by Stripe and tokenizes it in the browser; the only thing that reaches Apex is the resulting payment-method id. Card data never enters your org, which is what keeps your PCI scope where it is.
Do we have to expose a webhook endpoint?#
No — and there is no inbound webhook anywhere in the package. Salesforce asks Stripe about a payment rather than waiting to be told, so there is no public endpoint to secure, no signing secret to rotate, and no missed-callback failure mode. See Donations & payments.
Where is the Stripe secret key kept?#
In a Named Credential your admin creates, never in a custom field and never in code. The package ships no credential of its own — see Connecting Stripe.
Can we refund from inside Salesforce?#
Yes, from the Opportunity. Refunds issued in the Stripe dashboard instead are reconciled back onto the same Opportunity by the same hourly job, so the two never drift apart — see Process a refund.
What happens when a recurring charge fails?#
It is retried on a schedule you set, and the donor is emailed on the terms you choose, before the gift is ever marked lapsed. Recurring gifts are billed by Salesforce against a saved card rather than by a Stripe subscription, so the schedule is yours to change — see Recurring giving and Configure recurring dunning.
Campaigns and events#
Are ticketed events a separate product?#
No. A ticketed event is a Campaign with ticket types on it, paid for through the same pipeline as a donation — seats are reserved before the charge completes, so a sold-out event cannot oversell while a payment is in flight. See Events & ticketing.
Can we put a donate button on our own website?#
Yes — an embeddable button that opens your donation page, with no Salesforce login involved for the donor. See Embed a donate button on your website.
Plans#
How is this priced?#
Per licensed user, never as a percentage of what you raise: $49 a user a month, or $490 a year, with a three-licence minimum, after a 5-day free trial. Only fundraising admins need a licence — donors and event attendees never do — and every licence includes every feature and unlimited donations. The details, including who counts as an admin, are on Pricing.
How does the trial work?#
Every install starts with a 5-day free trial of the whole product — every feature, unlimited donations, nothing held back. While it runs, each staff console (Fundraisers, Donors, Donations, Settings and Diagnostic Logs) shows a Trial · N days left badge at the top, with a Complete checkout button that opens the subscription portal in a new tab. The badge turns gold for the last two days and reads Trial ends today on the final day; it disappears the moment the subscription is active, and paid or site-licensed orgs never see it.
If the trial ends before you subscribe, the staff consoles close and show the expired notice with a link to the portal. Nothing else changes: donation pages, receipts, the donor portal and scheduled recurring gifts keep running, and your data is untouched, so subscribing later picks up exactly where you left off. Trial length comes from the licence Salesforce holds for your org, so Settings → General → Licence & Seats always shows the exact end date.
How do I see how many seats we have, or when the licence renews?#
Settings → General → Licence & Seats. It reads the licence Salesforce holds for your org and shows the status, seats used of seats allowed, and the renewal date, with the Setup path for assigning a seat and a Manage subscription link for buying more. The same facts sit on the Health Check board as a Package Licence row that turns amber inside 30 days of renewal or when one seat or fewer is left, and red once the licence has expired. See Licence & Seats.
What happens to donors if our subscription lapses?#
Nothing. Donation pages, receipts, the donor portal and scheduled recurring gifts keep running — none of them ever check a licence, because donors and attendees never hold a seat. Only the staff consoles close, and they show a notice saying the subscription has expired (or is suspended) with a link to the portal, rather than a half-working page. Data is untouched throughout.
Still stuck? Support lists what to gather before you get in touch, so the first reply can be an answer rather than a question.