---
title: "Monthly giving at a club: donations with the Charitips API"
description: "A sports club gives 5 € a month for each member who turns it on. An interactive demo of the Charitips donation API, with its calls."
canonical: https://www.charitips.com/docs/use-cases/recurring-donations/monthly-giving
---

# Monthly giving at a club: donations with the Charitips API

> A sports club gives 5 € a month for each member who turns it on. The member picks the charity once; Charitips gives on the 1st and bills the club; pause or stop at any time.

- **Use case**: [Monthly giving by your users](https://www.charitips.com/docs/use-cases/recurring-donations.md)
- **Sector**: Health and sport
- **Who pays**: Your company
- **What starts the donation**: Every period
- **Example**: 5 € a month for each member who turns it on
- **Calls**: [`POST /v1/charities-selections`](https://www.charitips.com/docs/api-reference/create-charities-selection.md), [`POST /v1/campaigns`](https://www.charitips.com/docs/api-reference/create-campaign.md), [`POST /v1/campaigns/{campaignId}/activate`](https://www.charitips.com/docs/api-reference/activate-campaign.md), [`POST /v1/recurring-donations`](https://www.charitips.com/docs/api-reference/create-recurring-donation.md), [`POST /v1/recurring-donations/{recurringDonationId}/claim`](https://www.charitips.com/docs/api-reference/claim-recurring-donation.md), [`POST /v1/recurring-donations/{recurringDonationId}/pause`](https://www.charitips.com/docs/api-reference/pause-recurring-donation.md), [`POST /v1/recurring-donations/{recurringDonationId}/resume`](https://www.charitips.com/docs/api-reference/resume-recurring-donation.md), [`POST /v1/recurring-donations/{recurringDonationId}/cancel`](https://www.charitips.com/docs/api-reference/cancel-recurring-donation.md)
- **Webhooks**: `recurringdonation_create`, `donation_create`, `recurringdonation_update`

Interactive demo on the page. The same flow as a build spec: https://www.charitips.com/docs/demos/recurring.md

## How it works

The screens of the demo in order, with the calls your server makes at each one.

### Once, before the first customer

- [`POST /v1/charities-selections`](https://www.charitips.com/docs/api-reference/create-charities-selection.md) Create a charities selection: once: the charities you offer, from the catalog

  ```json
  {
    "name": "Member charities",
    "charityIds": [
      "<charityId>"
    ]
  }
  ```
- [`POST /v1/campaigns`](https://www.charitips.com/docs/api-reference/create-campaign.md) Create a campaign: once: the recurring campaign, every month from its first date

  ```json
  {
    "name": "Monthly giving",
    "charitiesSelectionId": "<charitiesSelectionId>",
    "frequency": "R/2026-11-01/P1M"
  }
  ```
- [`POST /v1/campaigns/{campaignId}/activate`](https://www.charitips.com/docs/api-reference/activate-campaign.md) Activate a campaign: once: the campaign starts taking recurring donations

### 1. Give 5 € a month to a charity, on us

The member picks a charity, then turns monthly giving on in one click. Your server creates the member's recurring donation and claims it for that charity straight away: the first 5 € is given at once. Your company pays every donation and gets the fiscal receipt.

- The customer picks a charity from your selection.
- Button: Give 5 € a month

**Your server calls:**

- [`POST /v1/recurring-donations`](https://www.charitips.com/docs/api-reference/create-recurring-donation.md) Create a recurring donation: when the member turns it on, on the recurring campaign; the member's name and email, as Charitips emails them each month; amount in cents; keep the recurringDonationId with the member

  ```json
  {
    "campaignId": "<campaignId>",
    "amount": 500,
    "donorFirstName": "Camille",
    "donorLastName": "Martin",
    "donorEmail": "camille.martin@example.com",
    "externalId": "member_204",
    "uniqueExternalId": "giving_member_204"
  }
  ```
- [`POST /v1/recurring-donations/{recurringDonationId}/claim`](https://www.charitips.com/docs/api-reference/claim-recurring-donation.md) Claim a recurring donation: right after, with the charity the member chose: the recurring donation turns ACTIVE and this month's donation is made at once (recurringdonation_update, donation_create)

  ```json
  {
    "charityId": "<charityId>"
  }
  ```

Charitips then sends the `recurringdonation_create` webhook to your endpoint.

### 2. 1 November

On the 1st of each month, Charitips makes the donation of every active recurring donation, at most one a month, and bills it to your company. Nothing to call; a paused or stopped one is skipped.

- Monthly donation: 5,00 €
- Button: Simulate 1 November

No call: this screen only shows the result.

Charitips then sends the `donation_create` webhook to your endpoint.

### 3. Pause

The member pauses: nothing is given or billed on the 1st while it is paused.

- Button: Pause

**Your server calls:**

- [`POST /v1/recurring-donations/{recurringDonationId}/pause`](https://www.charitips.com/docs/api-reference/pause-recurring-donation.md) Pause a recurring donation: recurringDonationId kept with the member; the charity stays saved

Charitips then sends the `recurringdonation_update` webhook to your endpoint.

### 4. Resume

Giving starts again from the next 1st, to the same charity.

- Button: Resume giving

**Your server calls:**

- [`POST /v1/recurring-donations/{recurringDonationId}/resume`](https://www.charitips.com/docs/api-reference/resume-recurring-donation.md) Resume a recurring donation: only a paused recurring donation can be resumed

Charitips then sends the `recurringdonation_update` webhook to your endpoint.

### 5. Stop monthly giving

The member stops. The donations already made stay with the charity; nothing more is given.

- Button: Stop giving

**Your server calls:**

- [`POST /v1/recurring-donations/{recurringDonationId}/cancel`](https://www.charitips.com/docs/api-reference/cancel-recurring-donation.md) Cancel a recurring donation: final: a stopped recurring donation cannot be claimed again (409); turning giving on again creates a new one

Charitips then sends the `recurringdonation_update` webhook to your endpoint.

## Other ways to run it

- [Full guide: edge cases, webhooks, receipts](https://www.charitips.com/docs/use-cases/recurring-donations.md)
- [All use cases](https://www.charitips.com/docs/use-cases.md)
