Skip to content
v26.3

Card payment with Stripe Terminal

A Stripe card reader accepts cards, phones and smartwatches contactless or by chip; DiKAS controls it through the Stripe cloud. The till sends the amount to Stripe, and Stripe shows it on the reader. No hardware agent and no release in the shop router is needed — the reader only needs internet. This page shows what it is suited for, how to set up the reader and what happens at the till.


At a glance

Terminal type in DiKAS Stripe Terminal
How the payment runs Till → Stripe cloud → reader (no path through the shop network)
Card receipt The reader has no printer — DiKAS prints the card receipt on the till receipt
Tip on the reader is not reported back to the till
Card refund only with reference to the original payment (receipt void)
End of day on the reader does not exist — payouts run automatically through Stripe

Supported devices and countries

What Status
Stripe card readers that are set up as a reader in your Stripe account and have a reader ID (starts with tmr_) ✅ supported
Which reader models Stripe releases for cloud control decided by Stripe — check model and availability in your Stripe account
Card terminals from other providers see their own guide, e.g. ZVT terminal

Currency: Payments are charged in your business's main currency (e.g. euro or Swiss franc). In which countries Stripe offers card readers and which cards are accepted is determined by your Stripe account, not by DiKAS.


Prerequisites

  • A Stripe account in which the card reader is set up as a reader and online.
  • The reader's reader ID (tmr_…) — it is shown in your Stripe account in the Terminal area.
  • The secret key (Secret Key, starts with sk_live_ or sk_test_) of your Stripe account — found in your Stripe account under the API keys. The form also accepts keys starting with rk_.
  • Internet access on the reader and on the DiKAS server or cloud till.
  • A user with access to Admin → Settings.

Start in test mode

With a key starting with sk_test_, Stripe works in test mode — no real card is charged. For live operation, enter the sk_live_ key afterwards.


Setting up in 8 steps

  1. Open payment options: Admin → Settings → Hardware → Payment options.
  2. Click Add terminal (plus icon) and give it a name, e.g. "Reader bar".
  3. Under Type choose Stripe Terminal. The field for the reader ID appears (placeholder tmr_xxx).
  4. Enter the reader's reader ID.
  5. A Stripe tab appears below the terminal list. Enter the Secret Key there. DiKAS stores it encrypted and never shows it in plain text again; a saved key appears as "•••• saved (leave empty to keep)".
  6. Click Save at the top. Until you save, the server does not know the new reader.
  7. In the Stripe tab click Test connection. If Connection successful appears, the key is fine. On an error DiKAS shows Stripe's text.
  8. In the reader's row click the Check status icon (Wi-Fi symbol). A green dot means the reader is online at Stripe. Otherwise the tooltip shows e.g. Reader-Status: offline.

Then make a test payment with a small amount (see below) and void it again.

Other fields in the Stripe tab

The Publishable Key is not needed for card payment on the reader; it concerns other Stripe functions that use the same tab (e.g. online ordering or paying by QR code). DiKAS does not evaluate the Location-ID for payments on the reader. The credentials apply to all Stripe functions of the business together.

Several readers and several tills

  • One terminal entry per reader, each with its own name and its own reader ID.
  • Which reader is used at which till is set via the Default terminal (selection below the terminal list) or per workstation or device — see Hardware: card terminals.
  • The payment dialog always shows the reader's name, so a wrong device is noticed immediately.

How payment works at the till

  1. Book items and choose Pay, then EC card or Credit card.
  2. The Card payment dialog opens with the amount and the reader's name (Terminal: …).
  3. The amount appears on the reader. The guest holds card, phone or smartwatch to the reader or inserts the card.
  4. When Stripe reports the payment as completed, DiKAS shows Payment successful and books the receipt.

When the payment stays unconfirmed

If Stripe has not yet reported completion when DiKAS asks, DiKAS shows Payment unconfirmed with the hint Do NOT charge again — check the payment on the terminal. and a Close button.

Do not simply repeat

First check on the reader and in your Stripe account (Payments area) whether the card was charged. Then start the payment again on the same reader: DiKAS first reconciles the open transaction with Stripe instead of triggering a second charge. If it succeeded and the amount matches, it is accepted. If the amount differs, DiKAS reports a clarification case until you have resolved it. If the DiKAS server was restarted in between, the open transaction is no longer noted there — then only the check in your Stripe account counts.

Tip

The reader does not report a tip back to the till. Record a tip in the till like for any other payment.

Card receipt — who prints?

A Stripe reader has no printer of its own. When you create the type, DiKAS sets Terminal has its own printer to off automatically: the card receipt is printed on the till receipt, so there is no double printing.

Void and card refund

Case How it works
Void a receipt The void runs with reference to the original payment: DiKAS refunds the full amount of the payment to the card through Stripe and then creates the void receipt. Voiding works only at the till to which the payment's reader is assigned and requires the right Perform card refund (administrators always).
Free card refund (without an original payment) Not possible. Stripe refunds only to an existing payment. DiKAS reports: Stripe Terminal unterstützt keine referenzlose Karten-Gutschrift … Bitte mit Bezug auf den Ursprungsbeleg stornieren (funktioniert) oder bar erstatten. (Stripe Terminal does not support a reference-free card refund; void against the original receipt, which works, or refund in cash.)

End of day and daily closing

Stripe has no end of day like classic card terminals. DiKAS shows the note Stripe Terminal kennt keinen Kassenschnitt — Auszahlungen laufen automatisch über Stripe (Dashboard → Auszahlungen). (Stripe Terminal has no end of day — payouts run automatically through Stripe, Dashboard → Payouts) when you click the reader's end-of-day icon in the payment options. In the till menu (Menu → Card terminal → End of day), DiKAS merely reports End of day OK for a Stripe reader, without anything being closed on the reader. Reconcile card sales in your Stripe account if needed. There is no sales subtotal from the reader.


Limits

  • No tip on the reader, no free card refund, no end of day.
  • Internet is mandatory — without a connection to Stripe no card payment on the reader is possible.
  • A reader belongs to one Stripe account — the secret key applies to all Stripe readers of the business together.

Errors and remedies

Message / What you see Cause and remedy
Stripe Terminal ist nicht konfiguriert (Secret Key oder Reader-ID fehlt) (not configured: secret key or reader ID missing) Enter the Secret Key in the Stripe tab and the reader ID on the terminal, then Save.
Stripe-Terminal … nicht gefunden (not found) The reader is not saved yet or was deleted. Create the terminal or Save.
Reader-Status: offline (or another status instead of "online") Switch the reader on, check its internet connection; it must show as online in your Stripe account. Then Check status.
Connection failed or a Stripe error text at Test connection Check the secret key (format sk_…) and enter it again. The form shows Expected format: sk_… for a wrong format.
Zahlung unbestätigt — wird geprüft. Bitte NICHT erneut versuchen, sondern kurz warten. (payment unconfirmed, do NOT retry, wait briefly) See When the payment stays unconfirmed.
Stripe-Terminal-Status nach Reader-Push unsicher. (status uncertain after sending to the reader) The connection to Stripe dropped after sending; the payment may have reached the reader. Treat it like "unconfirmed": check in your Stripe account, do not charge again immediately.
Unbestätigte frühere Zahlung über einen abweichenden Betrag gefunden — bitte klären (earlier unconfirmed payment with a different amount found) An open transaction with another amount exists. Clarify in your Stripe account (refund if needed), only then charge again.
Zahlung abgebrochen. / Zahlung abgelehnt oder abgebrochen. (cancelled / declined or cancelled) Guest or staff cancelled on the reader, or the card was declined. Try another card or payment method.
Stripe Terminal unterstützt keine referenzlose Karten-Gutschrift … A free refund is not possible with Stripe. Void the receipt or refund in cash.
Keine Transaktionsreferenz für das Storno vorhanden. (no transaction reference for the void) The receipt lacks the Stripe reference. A refund through DiKAS is then not possible — please contact support.
Diese Kartenzahlung lief über … Stornieren ist nur an der Kasse mit diesem Terminal möglich. (voiding only at the till with this terminal) Perform the void at the till to which this reader is assigned.
Keine Berechtigung für Karten-Erstattungen. (no permission for card refunds) Give the user the right Perform card refund under Admin → Staff or let an administrator void.

Next step

→ Payment methods and card payment at the till — void, refund and card type as payment method → Hardware: card terminals — overview of all terminal types