PlaumPlaumDocs

Checkout

How you get here: Checkout from the cart. Opens as a modal. Requires an account? Yes — a foodie account specifically.


What this is

Payment method, pickup time, tip, loyalty, and the final total. The longest single screen in the ordering flow, and the one with the most conditional behaviour, because what a restaurant supports varies.


The checkout screen

Payment

Payment

Option When
Pay online (card) The restaurant accepts online payment.
Pay at counter The restaurant offers it — you pay on collection instead.

Checkout with pay at counter selected

Only the options the restaurant actually supports are shown, so a restaurant with just one enabled gets a single row rather than a disabled second choice.

The app switches for you rather than letting you pick something that will fail, and tells you it did:

This restaurant doesn't offer pay at counter right now — switched you to online payment.

This restaurant doesn't accept online payment right now — switched you to pay at counter.

If you arrived via a table QR you'll also see:

QR order detected from your location or table session.


Pickup time

Option Notes
ASAP As soon as the kitchen can.
Scheduled Select pickup timeChoose a slot for your order.

Tip

Tip

Add a tip Show your appreciation - 100% goes to the restaurant.

Preset percentages, a Custom amount ($) field, and No tip / Skip tipping. The running value shows as Tip: $n.

For table orders the subtitle changes to "Add a tip for QR online orders."

The "100% goes to the restaurant" line is a factual claim about how tips are routed — Plaum takes no cut.


Loyalty

Use loyalty points appears when the restaurant runs a scheme:

State Message
Enough points Saving $n! / Will save $n
Not quite enough Need n pts for $n off
Far off Not enough points yet

Rather than hiding the option, it shows you how close you are.


Summary

Line
Subtotal
Tax
Estimated loyalty discount
Tip
Total
ETA

The loyalty line is explicitly estimated — the server confirms it at capture.

The button reads Place order - $total, becoming Placing order… while it works. Paying online then hands off to Stripe's own sheet — saved cards, Link, or a new card:

The Stripe payment sheet


Things that block checkout

Checkout blocked

Condition Message
Items from more than one restaurant Multiple restaurants in cartRemove items from other restaurants to continue.
Listing-only restaurant Ordering unavailableThis restaurant is directory only and does not accept orders here.
Outside ordering hours Online ordering is closed right now.
Restaurant account trying to order Foodie account required

Payment failures

Each failure is distinct, so it's clear whether to retry, change card, or give up:

Message Meaning
Payments unavailable. Payment processing isn't configured.
Payment not ready. The sheet hasn't initialised yet.
Could not start payment. Stripe wouldn't open.
Payment failed. The card was declined or the sheet errored.
Could not place your order right now. Payment may be fine; order creation failed.

On duplicate orders. A retry after a flaky network will not produce a second charge — Plaum makes sure an order is only ever created once.


Where you go next

Order confirmationOrder status