Taking payment
Choosing a tender, handling change, and what happens when payment completes.
Pressing Pay opens the payment screen with the sale total and your configured payment methods. Which methods appear, and whether any of them carry a surcharge, is set in POS settings.
PaymentModal.tsx, icon paths from DEFAULT_PAYMENT_METHODS in pos/types.ts, styling from pos.module.css.Cash
A cash-type method asks for the amount tendered and shows the change due. The display tells you plainly whether the tender covers the total or falls short.
Card and EFTPOS
A method with no card gateway attached records the payment and moves on — you take the money on your own terminal. A method wired to Stripe or a Square Terminal is different: the card is collected through that provider before the sale is posted, so a declined card never produces a recorded sale.
Surcharges
A payment method can carry a surcharge percentage. It is calculated on the sale total, shown as its own line on the payment screen and on the receipt, and added to the amount charged.
Gift cards
Paying by gift card checks the balance first. A card with nothing left on it is refused with a clear message. If the balance covers only part of the sale, the screen tells you how much the card will absorb and asks for a second method to cover the remainder.
If the sale fails to save
A sale that fails to record changes nothing at all — the drawer is not credited, the repair is not marked paid, the gift card is not debited, and the cart is kept so you can correct the problem and ring it up again.