Use cases · Subscriptions
Monthly giving by your users
Give every month on behalf of your users, on a recurring campaign: create, claim, pause or stop each donation from your product.
- Who paysYour company
- Starts withEvery period
- Tax receiptIn your company's name
Needs API access on a validated account. Plans
your-club.example/account/giving
Step by step
Click through the site. Each step shows what your customer does, what your server sends and what Charitips answers.
1Monthly giving on
To comeYour customer does…
Clicks “Give 5 € a month”.
Your server sends…
Sets up a recurring donation of 5 € for Camille Martin on the campaign “Monthly giving”.
Assigns that recurring donation to the charity your customer picks.
Charitips answers…
Charitips creates it and returns its id; it waits for a charity.
It is active: this month's donation goes to the charity your customer picks now.
Charitips will then tell your server the recurring donation was created.
2Monthly donation made
To comeYour customer does…
Clicks “Simulate 1 November”.
Your server sends…
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.
Charitips answers…
Charitips will then tell your server the donation was created.
3Giving paused
To comeYour customer does…
Clicks “Pause”.
Your server sends…
Pauses that recurring donation.
Charitips answers…
It is paused; the charity stays saved.
Charitips will then tell your server the recurring donation changed.
4Giving resumed
To comeYour customer does…
Clicks “Resume giving”.
Your server sends…
Resumes that recurring donation.
Charitips answers…
It is active again.
Charitips will then tell your server the recurring donation changed.
5Giving stopped
To comeYour customer does…
Clicks “Stop giving”.
Your server sends…
Stops that recurring donation for good.
Charitips answers…
It is stopped and cannot be restarted.
Charitips will then tell your server the recurring donation changed.
How to read this demo: the site shows what your customer does, and the panel what your server sends and what Charitips answers, step by step.
The site is made up and nothing is sent. The endpoints, fields and webhook events are the real ones, and so are the charities.
This demo is one example. A club gives 5 € a month for each member who turns it on: that is the case the demo plays. The same flow also covers:
One variant
Why one demo: The calls are the same whatever the sector: the demo shows one club.
Build it
The calls behind the demo, in order. Each step shows the request your server sends.
recurringdonation_createdonation_createrecurringdonation_updateBefore you start
- A recurring campaign, created with a
frequencyand without a fixed budget. - The user's first name, last name and email on each recurring donation: Charitips emails them every month.
Create a charities selection
Once, create the selection of charities your users can give to with Create a charities selection. Get the charity ids from List charities.
POST /v1/charities-selectionscurl -X POST https://api.sandbox.charitips.com/v1/charities-selections \ -H "Authorization: Bearer $CHARITIPS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Monthly giving selection", "charityIds": [ "ca68f22c-2fdf-48b1-b8f6-43c3073e83bb", "1cccaa7c-cc5e-4dc8-9978-fc2de5f5d7b3", "0d65b4e6-f663-4ec7-b69d-0da5e7e8b2ee" ] }'Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Create the recurring campaign
Once, create the campaign with its
charitiesSelectionIdand afrequency, an ISO 8601 recurring interval such asR/2026-11-01/P1Mfor once a month from 1 November 2026. Then activate it and keep itscampaignId. Every donation on this campaign is a recurring donation, and the campaign isFREE_AMOUNT: withamountTypeset toFIXED_AMOUNT, creating it answers400 Recurring campaigns must be FREE_AMOUNT campaigns.POST /v1/campaignscurl -X POST https://api.sandbox.charitips.com/v1/campaigns \ -H "Authorization: Bearer $CHARITIPS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Monthly giving", "charitiesSelectionId": "<charitiesSelectionId>", "frequency": "R/2026-11-01/P1M" }'Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Create a recurring donation
When a user turns monthly giving on, call Create a recurring donation.
amountis in cents: 1000 is 10 €. The donor's first name, last name and email are required, as Charitips emails them every month. Keep therecurringDonationIdwith the user.POST /v1/recurring-donationscurl -X POST https://api.sandbox.charitips.com/v1/recurring-donations \ -H "Authorization: Bearer $CHARITIPS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "campaignId": "<campaignId>", "amount": 1000, "donorFirstName": "John", "donorLastName": "Doe", "donorEmail": "john@doe.com" }'Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Claim it for the chosen charity
Claim the recurring donation with the charity the user picked, using Claim a recurring donation. Once the campaign has started, the first donation is made at once, then a new one every month. To change charity, claim it again with the new
charityId.POST /v1/recurring-donations/<recurringDonationId>/claimcurl -X POST https://api.sandbox.charitips.com/v1/recurring-donations/<recurringDonationId>/claim \ -H "Authorization: Bearer $CHARITIPS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "charityId": "<charityId>" }'Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Pause or resume giving
Pause a recurring donation with Pause a recurring donation: nothing is given or billed while it is paused. Resume a recurring donation starts giving again from the next month, to the same charity.
POST /v1/recurring-donations/<recurringDonationId>/pausecurl -X POST https://api.sandbox.charitips.com/v1/recurring-donations/<recurringDonationId>/pause \ -H "Authorization: Bearer $CHARITIPS_TOKEN"Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Stop giving
Stop a recurring donation with Cancel a recurring donation. The donations already made stay with the charity. A canceled recurring donation cannot be claimed again (
409): to start again, create a new one.POST /v1/recurring-donations/<recurringDonationId>/cancelcurl -X POST https://api.sandbox.charitips.com/v1/recurring-donations/<recurringDonationId>/cancel \ -H "Authorization: Bearer $CHARITIPS_TOKEN" \ -H "Content-Type: application/json" \ -d '{}'Built from the spec and the API codeRequest bodies are written for this docs and checked against the API's validation; ids in angle brackets are placeholders. Response values are placeholders built from the schema.
Billing and receipts
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 account. Your company funds these donations, so the fiscal receipt goes to your company, once a year by default.
Edge cases
- A one-off donation on the campaign. Create a donation answers
403 Only recurring donations can be created for recurring campaigns. - The campaign is not recurring yet. Creating a recurring donation answers
403 Recurring donations can only be created for recurring frequency campaigns.: the campaign has nofrequency. - Your users pay. When users give their own money, charge them each month and create a donation with
hasBeenChargedon a campaign that is not recurring, for a receipt in their name: see Your users give their own money.
The memo
Send the memo to your team
Already written for this flow
- What it does and who pays, in a few sentences
- What you need: plan, API calls and webhooks
- What you can report: donations, charities, impact and receipts
To paste in an email, a document or a note.
Email it