Restaurant self-order kiosk: donations with the Charitips API
A restaurant's self-order kiosk offers to round the bill up to the next euro before payment. The customer picks the charity and pays the difference with the meal.
- Who paysYour users
- Starts withA purchase
- Tax receiptIn the user's name
Needs API access and the B2C use case on a validated account. Plans
One variant of Round-up on every payment · Hotels and restaurants
The bill rounded up to the next euro at the kiosk
See every variantyour-restaurant.example/kiosk
Step by step
Click through the site. Each step shows what your customer does, what your server sends and what Charitips answers.
1Round-up accepted
To comeYour customer does…
Clicks “Round up for the chosen charity”.
Your server sends…
Before payment, the kiosk offers to round the bill up to the next euro. The customer picks a charity in the widget and accepts. Your kiosk keeps it with the order. Nothing is sent to Charitips yet.
Charitips answers…
Nothing: Charitips is not called at this step.
2Bill paid
To comeYour customer does…
Clicks “Simulate a card payment”.
Your server sends…
Creates a 0,40 € donation for order #31248 on the campaign “Kiosk round-ups”, for the charity your customer picks, paid by your customer.
POSTcreate-donation
Charitips answers…
Charitips records the donation and returns its id: it goes to the charity your customer picks at once.
Charitips will then tell your server the donation was created.
3Order canceled
To comeYour customer does…
Clicks “Simulate a cancellation at the counter”.
Your server sends…
Deletes that donation.
DELETEdelete-donation
Charitips answers…
The donation is deleted and never billed.
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_createOnce, 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, on an account with the B2C use case
- POST /v1/campaigns/{campaignId}/activateActivate a campaign: once: the campaign starts taking donations
01
Round up the bill
Before payment, the kiosk offers to round the bill up to the next euro. The customer picks a charity in the widget and accepts. Your kiosk keeps it with the order. Nothing is sent to Charitips yet.
The customer picks a charity from your selection. Button: Round up for the chosen charity
No call: this screen only shows the result.
02
Bill paid with its round-up
The customer pays the meal and the round-up in one card payment. Your server then records the donation as paid by the customer.
- Your order: 14,60 €
- Round-up for the charity: 0,40 €
- Charged to the card: 15,00 €
Button: Simulate a card payment
Your server calls:
- POST /v1/donationsCreate a donation: once the card payment is accepted, from your till or payment server; amount in cents; with no donor, withFiscalReceipt is false
Charitips then sends the
donation_createwebhook to your endpoint.03
Order canceled at the counter
The counter cancels and refunds the order: your server deletes its round-up, as long as it is not billed yet.
Button: Simulate a cancellation at the counter
Your server calls:
- DELETE /v1/donations/{donationId}Delete a donation: donationId kept with the order; only before the monthly bill
Other ways to run it
The same calls in other sectors and products. Each card opens its own page, with its demo.
- Banking and insuranceBank card paymentsA bank rounds each card payment up to the next euro and gives the difference. The customer opts in, sets a multiplier and a monthly cap, pays the round-ups and gets the receipt.Each card payment rounded up to the next euroTry the demoRound-up on every payment: Bank card payments
- Culture and eventsFestival cashless walletA festival's cashless wristband rounds each drink or food payment up to the next euro. The attendee agrees once at top-up, pays the cents and gets the receipt in their name.Each wristband payment rounded up to the next euroTry the demoRound-up on every payment: Festival cashless wallet
- Travel and mobilityMobility walletA mobility app rounds each journey up to the next euro and gives the cents to the charity the rider saved. The rider pays the round-ups; a refunded trip deletes its round-up.Each journey rounded up to the next euroTry the demoRound-up on every payment: Mobility wallet
- RetailOnline store checkoutAn online store offers to round the order total up to the next euro at checkout. The customer ticks the round-up, picks the charity, pays the difference with the order and gets the receipt in their name.The order total rounded up to the next euroTry the demoRound-up on every payment: Online store checkout



