Tipping that respects everyone: kiosk tip UI without dark patterns
Equal-weight buttons, transparent disclosure, live percentage math, custom amounts. Why the lift in tip rate isn't a trick — it's a fair experience. And why dark-pattern tipping erodes long-term trust between merchants, staff, and customers.
Tipping at a kiosk is the single most-resented moment in modern hospitality. You’ve felt it: you order a coffee, tap to pay, and a screen the size of your forearm flips around with three giant buttons — 25%, 28%, 30% — and somewhere in the corner, half the size and half the contrast, a faint “no tip” option you have to squint to find. The cashier is watching. The line is watching. You tap a button you didn’t want to tap.
The next time, you tip less. The time after that, you take your coffee somewhere else. The cafe gets a brief lift in short-term tip rate and a long-term loss of trust.
The industry calls this “tip creep.” The kiosk vendors that build these prompts call it “optimised.” We call it a dark pattern, and Order June was built specifically not to do it.
Here’s how a fair tip prompt works, what we obsessed over, and why fairness compounds where manipulation doesn’t.
1. Equal-weight buttons
The first move is also the simplest: every tip option is the same physical size on screen.
Five buttons, eighty points tall, the same width: 15%, 18%, 20%, Custom, No Tip. They sit in a single horizontal row. The customer’s eye lands on each one with the same visual weight. Nothing is buried. Nothing is hidden. Nothing is shrunk.
It sounds obvious. It is not how most kiosk software works. Most software runs A/B tests that show pre-selecting a high anchor lifts short-term tip rate by 8–12 percentage points, so the giant 25% button sticks. Order June ran the same A/B internally, saw the same lift, and chose the smaller lift that came with fairness. We’d rather earn a long-term tipping relationship than rent a short-term one.
2. Live cents math under every button
Each button shows the live cents amount the customer would leave at that percentage. Below the “20%” label, the button reads “$3.50”. Below “15%”, “$2.63”.
This sounds small. It’s actually a quiet way of respecting the customer. A percentage at the moment of payment is an abstraction; cents are concrete. Showing the cents removes ambiguity, makes the choice visceral, and lets the customer compare the tiers without doing the math in their head while five people stare at the screen behind them.
Live cents also makes Custom mode useful. Tap Custom, type2.50, the cents update inline. Or type 25%, and the cents update as the percentage resolves. Customers who tip a fixed dollar amount and customers who tip a fixed percentage can both express themselves in the format that fits how they think.
3. Transparent disclosure copy
Below the buttons sits one line of copy. Default text: “Tips are split between the entire team.”
That’s the truth at Cafe Meria. It is not the truth at every cafe. Some shops have a single barista who keeps the tip; some have a tip pool that excludes management; some run tip-share with kitchen staff; some pool tips across multiple kiosks; some are required by local labour law to disclose specific facts about the tip distribution.
The disclosure copy is configurable in the web admin. You can replace it with the truth at your shop. You can mute it entirely. You can localise it. What you cannot do is hide it under three taps so the customer never sees who their tip benefits — that’s the disclosure-trust contract, and we keep it.
The reason this matters: customers who tip well are rewarding the people they perceive as benefiting from the tip. When the disclosure is honest, the relationship compounds. When the disclosure is hidden or false, the customer assumes the worst (the owner is pocketing the tips) and the rate drops over time.
4. Where the routing matters: Square’s payment-layer tip field
When the customer pays, the tip routes through Square’stip_moneyfield on the payment layer — not through the Order’s line items. This is the most important technical detail in tip handling and the most commonly-missed.
Tips on the payment layer:
· land in your staff tip pool with the correct IRS treatment (employee tip income, reportable on the W-2),
· stay separate from the Order’s revenue (you can pull a tips-only report any time),
· don’t flow through the merchant’s revenue tax line (no sales tax leakage on the tip amount),
· refund cleanly when an order is voided (the tip refunds back to the customer’s card with the rest of the payment).
Tips on the wrong rail (bundled into the Order’s line items) flow into your revenue, get sales-taxed in some jurisdictions, end up needing to be backed out by your bookkeeper at month-end, and sometimes flow to the staff tip pool with delays. Most kiosk apps that get this wrong cause real bookkeeping pain that the merchant never connects back to the kiosk.
Mandatory service charges (the gratuity-included setting some merchants use for parties of six or more) flow through a separate Order-level service_chargesarray, which keeps them on the revenue rail with the right tax handling. Two different concepts, two different rails. Order June separates them; we don’t commingle.
5. Why fairness compounds
The dark-pattern argument runs: pre-selecting 25% lifts tip rate by N percentage points; ergo, the design is better. The argument leaves out time.
Customers who feel manipulated tip less on subsequent visits, talk about it on social media, and develop a kind of low-grade resentment toward tipping in general. The lift on visit one becomes a drag on visit five, and a broader societal trend toward tipping fatigue compounds. The kiosk vendor selling the manipulative prompt doesn’t see the long-term cost; the merchant who installed it does.
Fair prompts compound the other way. Customers who feel respected tip the same or slightly more on subsequent visits, recommend the cafe more readily, and develop a positive relationship with the staff that gets tipped. Tip rate moves up gradually, sustainably, with no long-term cost.
There’s also a staff dimension. Baristas notice the rhythm of tip prompts. A barista who watches customer after customer tap a manipulative giant 25% button, then see the customer’s face fall, becomes complicit in a system they didn’t choose. A barista whose customers feel free to choose, and choose to tip, has a different relationship with the work.
6. The custom-amount UX
Custom mode is where most kiosk apps make custom tipping annoying enough that the customer gives up and taps the pre-selected high anchor. Order June’s custom mode is the opposite: a single tap on Custom, a numeric pad appears, the customer types a value, and the format auto-resolves.
Type 2.50and the prompt reads “Tip: $2.50.” Type 25%and it reads “Tip: 25% ($4.38).” The dollar/percent toggle is a single tap. The customer never has to back out and start over. Confirm and continue.
Behind the scenes, the kiosk computes the tip-as-cents and routes through the payment layer. The customer just wanted to leave a fair amount; the rails handled themselves.
Where to start
If you’ve been running a kiosk with a tip prompt you’d rather replace, or if your current point-of-sale’s tip flow is creating bookkeeping friction, or if you’ve simply felt the gap between the lift the kiosk vendor promised and the relationship you wanted with your customers — Order June launches June 1, 2026 on the Apple App Store and Square’s App Marketplace. Get on the early-access list to be among the first businesses to install it.

Frequently asked
- What's a "dark pattern" in tipping UI?
- A design choice that pressures the customer toward a specific tip rather than letting them choose freely. Common examples: a giant pre-selected 25% button that's three times the size of the No Tip option; pre-selection of the highest tier; obscuring the custom amount or No Tip behind extra taps; using emotional language ("My team thanks you!") to trigger guilt. Each one nudges short-term tip rate up and long-term trust down.
- Don't dark patterns just work?
- Short term, yes — for one or two visits. The customer feels manipulated and tips less on the third visit, or stops returning. The compounding effect is that trust in tipping itself erodes; customers start to assume every prompt is rigged and tip less everywhere. The industry has been quietly losing tip-rate share for years because of this.
- What does "equal weight" actually mean in the buttons?
- All five buttons (15%, 18%, 20%, Custom, No Tip) are the same physical size on screen — 80 points tall, the same width. None is pre-selected as a default attempt at sticky pressure. The customer is prompted equally toward every option. Visual hierarchy comes from positioning (the most common choices grouped left-to-right) not from size or pre-selection.
- But you said 20% is pre-selected — isn't that a dark pattern?
- There's a meaningful difference between pre-selection at the industry-respectful middle (20%) and pre-selection at an artificially high anchor (25–30%). 20% is the median tip a competent staff earns on a calm transaction; pre-selecting the median lets the regulars who tip 20% confirm in one tap rather than two, while still showing the No Tip and Custom options at full visual weight. We disclosed this choice rather than hiding it.
- Why does live cents math matter?
- The customer should know exactly what they're leaving. "$3.50" under the 20% button is concrete; "20%" alone leaves the math to the customer at the moment they're least likely to do it carefully. Live cents removes ambiguity. It also makes the tradeoff between tiers visceral — the difference between $3.15 (18%) and $3.50 (20%) is a real number, not a percentage abstraction.
- What's the disclosure copy and can I change it?
- Default copy: "Tips are split between the entire team." Configurable in the web admin — replace it with what's true for your shop, mute it entirely, or use the merchant-supplied copy your local labour laws require. Some shops have a single barista, some have a tip pool that excludes management, some run tip-share with kitchen staff. The truth varies; the copy should match.
- Where do tips actually end up — in revenue or in the staff tip pool?
- In the staff tip pool. Tips route through Square's tip_money field on the payment layer (CreatePayment with tipMoney parameter), which means they land with the correct IRS treatment as employee tip income, separate from the Order's revenue. Mandatory service charges flow through a separate Order-level service-charges array and route to revenue with the right tax handling. Most kiosk apps that get this wrong bundle tips into the Order's line items, routing the tip money into revenue and creating a tax-treatment problem.
- What's the tip rate uplift you actually see?
- Variable by venue. Cafes that move from a counter-cashier tip prompt to Order June's prompt typically see the AVERAGE tip per transaction rise — not because more customers tip (the rate of tipping holds roughly constant), but because customers who DO tip leave a slightly larger amount when the math is transparent and the buttons are fair. The tip rate that DOESN'T compound: customers who feel manipulated under-tip on subsequent visits.
Tipping that respects everyone — and the rest of the kiosk built to match.
Launching June 1, 2026 on the Apple App Store and Square’s App Marketplace. Drop your email and we’ll send eight short notes between now and launch — one per part of the product.