Flash sale: donations with the Charitips API
During a two-hour flash sale, a shop gives 5 % of each order into a capped pot. The buyer picks the charity after payment; the shop pays and the price does not change.
- Who paysYour company
- Starts withA purchase
- Tax receiptIn your company's name
Needs API access on a validated account. Plans
sale.your-shop.example
Step by step
Click through the site. Each step shows what your customer does, what your server sends and what Charitips answers.
1At checkout
To comeYour customer does…
Clicks “Pay 64,00 €”.
Your server sends…
Creates a 3,20 € donation for order #20817 on the campaign “Your shop”.
POSTcreate-donation
Reads the campaign's totals.
Charitips answers…
Charitips records the donation and returns its id: it waits for your customer to pick a charity.
Charitips returns the total given, the number of donations and the most chosen charities.
Charitips will then tell your server the donation was created.
2When the charity is chosen
To comeYour customer does…
Clicks “Choose the charity”.
Your server sends…
Assigns that donation to the charity your customer picks.
POSTclaim-donation
Charitips answers…
The donation now goes to the charity your customer picks.
Charitips will then tell your server the donation was updated.
3Pot full
To comeYour customer does…
Clicks “Pay 64,00 €”.
Your server sends…
Creates a 3,20 € donation for order #20818 on the campaign “Your shop”.
POSTcreate-donation
Charitips answers…
Charitips records the donation and returns its id: it waits for your customer to pick a charity.
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.
How it works
The screens of the demo in order, with the calls your server makes at each one. Its build spec
donation_createdonation_updateOnce, before the first customer
- POST /v1/charities-selectionsCreate a charities selection: once: the charities you offer, from the catalog
- POST /v1/campaignsCreate a campaign: once: the campaign the donations go to
- POST /v1/campaigns/{campaignId}/activateActivate a campaign: once: the campaign starts taking donations
01
At checkout
Button: Pay 64,00 €
Your server calls:
- POST /v1/donationsCreate a donation: from your server, when it happens; amount in cents
- GET /v1/campaigns/{campaignId}/metricsGet campaign metrics: what the campaign has received so far, for the gauge
Charitips then sends the
donation_createwebhook to your endpoint.02
When the charity is chosen
The customer picks a charity from your selection. Button: Choose the charity
Your server calls:
- POST /v1/donations/{donationId}/claimClaim a donation: donationId from the create-donation response
Charitips then sends the
donation_updatewebhook to your endpoint.03
Pot full
Button: Pay 64,00 €
Your server calls:
- POST /v1/donationsCreate a donation: from your server, when it happens; amount in cents
Other ways to run it
The same calls in other sectors and products. Each card opens its own page, with its demo.
- RetailA date with a budgetA store runs a one-day campaign with a fixed budget, for example 10 000 € on Earth Day. Each order of the day gives 5 €, billed at activation, until the budget runs out.A fixed budget spent on the orders of Earth DayTry the demoA campaign for a date: A date with a budget
- Hotels and restaurantsHappy hourA restaurant's charity happy hour puts 5 % of each order into the evening's pot for a named charity. At 8 pm, the till sends the pot as one donation; the restaurant pays.5 % of the evening's happy-hour salesTry the demoA campaign for a date: Happy hour
- Software and appsIn-game charity eventA game runs a timed charity event: each challenge cleared adds 0,10 € to a pot for a named charity, up to a set budget. The server sends each hour's pot; the studio pays.0,10 € per challenge, into a capped potTry the demoA campaign for a date: In-game charity event


