Taking the card at the van
A card reader on the groomer's phone takes the balance and uncharged card tips in one card-present payment, and the tip report shows when a card tip was charged.
The visit ends the same way every time. The groom is finished, the customer walks out to the van with the leash in one hand and a card in the other, and the next two minutes decide what the books look like tonight.
Slickerbook could record everything about that minute for a while except the card itself. Cash, checks, the tip, the balance, all of it went in as records. Putting the charge on the card meant stepping out of the flow: a separate terminal or the processor’s own app, the total typed twice, the tip written on paper and reconciled at the end of the day.
That step is gone when Stripe is connected. The groomer card on the dashboard offers Connect card reader, then Take card payment.
What the reader flow does
Connect card reader asks the Slickerbook API for a Stripe connection token. The reader registers under a Stripe location created from the shop’s own address, so the charges report as coming from the shop.
Take card payment builds one card-present intent for this appointment: the balance plus any card tips that have not been charged yet. The Stripe Terminal plugin on the phone collects that amount on the reader, or on the phone’s own Tap to Pay where the platform allows it. When the reader hands back its result, the app reports the intent to the API, which re-reads it from Stripe, accepts only a payment Stripe calls succeeded, and books it: a payment record with the channel marked terminal, the balance reduced, the tips stamped with the payment id.
Dropped connections happen at the worst time, standing in a driveway. The completion call is idempotent on the intent id. Ask twice and the second call answers that the money was already recorded rather than booking it again.
What shows up after
A card tip is a promise. Recording it with card as the method does not touch the processor on its own; the next card charge carries it. When the charge completes, the tip is stamped, and the tips list and the groomer’s tip report show method and charged state. Charged to card at 8:47 PM reads next to the tip, and the charge record keeps the card’s brand and last four whether the money came from the reader or the card on file.
Cash and check tips stay hand-to-hand. They are handed over outside the app, the tip report keeps the method visible, and a tip recorded with the wrong method under-collects rather than double-charging a card.
The screen follows the shop
None of the card buttons appear unless the shop actually has a processor connected. The checkout puts the balance in the headline, lists the payments already made, and says Paid in full when it is. How the customer is paying has become chips with sizeable buttons instead of a small select. On a completed visit with text-to-pay enabled, Send pay link offers the card by text instead. A shop that takes no cards through Slickerbook can hide the reminder in Settings to Payments and keep recording cash and check.
The end of the visit
The groomer connects a reader once, takes the balance and the tip in one tap, and the API records the payment exactly as it records every other payment. One record, the balance cleared, the tip stamped. No paper, no second app, no evening reconciliation over who was paid with what.
Filed under Running the business customers, payments, tips