# Donation pages

Branded giving pages for nonprofits and fundraisers: suggested amounts, a custom amount, one-time or monthly gifts, an optional goal with a progress bar, and an option for donors to cover processing costs.

## Create a page

Dashboard → **Donations**, or the API:

```bash
curl -X POST https://paylynks.io/api/v1/donation_pages -H "Authorization: Bearer $PAYLYNKS_SECRET_KEY" \
  -H "Content-Type: application/json" -d '{
    "title": "Spring food drive",
    "description": "Every $25 feeds a family for a week.",
    "suggested_amounts": [2500, 5000, 10000, 25000],
    "goal_amount": 1000000,
    "allow_monthly": true,
    "cover_fees": true,
    "receipt_note": "Example Food Bank is a 501(c)(3), EIN 00-0000000. No goods or services were provided."
  }'
```

The response has `url` (`https://paylynks.io/give/<slug>`) to share. `GET /api/v1/donation_pages` lists pages with `totals` (`raised`, `gifts`, `monthly_donors`). Update a page with `POST /api/v1/donation_pages/:id` (for example `{"active": false}` to stop taking gifts).

## How giving works

- **One-time gifts** go through checkout (cards, wallets and, if enabled, bank accounts). Donors get an emailed receipt with the gift, any fee cover, the date and your `receipt_note`.
- **Monthly gifts** open a subscription signup page where the donor agrees to the monthly charge and adds a card. They can update the card or cancel from the link in their emails, or from the customer portal.
- **Cover the fees:** if `cover_fees` is on, donors can add `cover_fee_bps` (default 3%) to their gift. Totals count the gift without the cover.

Donations are never surcharged or dual-priced, even if the business surcharges other payments; the optional fee cover takes its place. Payment intents from donation pages have `channel: "donation"` and `metadata.gift_amount`, `metadata.cover_fee`.

Your receipt wording is your responsibility: check with your accountant what a tax receipt needs to say.
