Giving

Online and offline gifts in one honest ledger.

Donors give on Stripe’s hosted checkout. Your finance team records checks and cash. Every donor gets a printable annual giving statement, and card or bank details never touch your database.

The giving admin with monthly totals, the gift ledger, and the offline entry form

Highlights

Cards, wallets, and bank debits

Stripe Checkout offers what you enable in Stripe, including ACH bank debits. ACH gifts stay pending until the bank confirms.

One-time and recurring

Guests can give once. Signed-in members can give weekly, monthly, or yearly, and change or cancel in Stripe’s Billing Portal.

Annual giving statements

A printable statement per donor per year, counting only live, tax-deductible gifts net of refunds. One action emails every donor a link.

Checks and cash too

Record offline gifts with check number and date received. Every manual entry writes an audit row.

Funds you define

General, Missions, Building, and more, named in English and Chinese, with default and tax-deductible flags.

Narrow access to money

Giving admin is open to admins or people with the finance flag, so a treasurer can work without full site access. Givers only see their own household.

What a giver sees

My giving shows the household’s gift history with pending, refunded, and disputed gifts labeled, recurring gifts with a Manage button, year totals, and a link to each year’s statement.

A member’s household giving history and recurring gifts

The ledger follows Stripe automatically

Signed Stripe events update the ledger: refunds are netted out, disputes are excluded, and failed recurring payments are marked past due. Totals are per fund and per currency, and the filtered ledger exports to CSV.

Stripe

Setting up Stripe takes forms, not code

Most of the work happens once in Stripe’s own dashboard. Church4Christ’s installer then imports the two values it needs. Follow Stripe’s official pages:

  1. Create a free Stripe account

    You can explore test mode right away, before giving Stripe any business details.

  2. Activate the account for real payments

    Enter your organization’s legal name, EIN or other tax number, address, a representative, and the bank account that receives donations.

  3. Ask for the nonprofit fee discount if you qualify

    Stripe offers lower processing fees to registered nonprofits in supported countries whose Stripe volume is at least 80% tax-deductible donations. You request it from Stripe support.

  4. Turn on receipts and the donor portal

    Stripe emails each receipt, and donors use the customer portal to change or cancel recurring gifts.

  5. Optional: bank (ACH) giving

    Lower-fee bank payments for larger gifts. Checkout offers ACH automatically once it is enabled.

  6. Connect Church4Christ

    Copy an API key, add one webhook endpoint, and give both to the installer. Rehearse with test cards, then follow the go-live checklist.

Stripe’s eligibility rules and fees can change, so confirm current terms on Stripe’s pages. Stripe’s own overview: How to accept donations through Stripe.

Good to know

  • Giving needs the Supabase (PostgreSQL) backend. It is not available on the default D1 database.
  • Stripe starts in test mode. Live mode is an explicit opt-in after the go-live checklist, and test and live data never mix.
  • Stripe charges its own processing fees. The nonprofit discount is granted by Stripe, not by Church4Christ.
  • Local tests do not prove live payments or receipt emails. Verify with a small real gift after going live.
  • There is no automated D1-to-Supabase content migration, so choose your database before entering real data.

See it with your own eyes.

Open the demo church in your browser, then read the setup guide when you are ready.