Skip to content
v26.3

Card payment with a ZVT terminal

The ZVT terminal is the classic card terminal with a stand or handset, as supplied by most banks and payment providers in Germany and Austria — for example from Ingenico, CCV, Verifone or PAX. DiKAS talks to the terminal over the network (TCP/IP): the amount appears on the terminal automatically, with no retyping and no typos. The terminal runs under your own contract with your bank or network operator; DiKAS adds no surcharge per booking.


At a glance

Terminal type in DiKAS ZVT
Connection Network (LAN cable), TCP/IP, port as set on the terminal (usually 20007)
Tip on the terminal is taken over by the till
Card receipt terminal prints itself or DiKAS prints it on the receipt (switch Terminal has its own printer)
Void at the terminal of the original payment
Free card refund ✅ possible
End of day, sales subtotal, receipt repeat ✅ from within DiKAS

Supported devices and countries

Any terminal that speaks the ZVT protocol over TCP/IP and whose cash register connection (ECR) is enabled. The overview shows typical settings — what counts is always the setting on the terminal:

Devices / family Common port
General ZVT standard, CCV (Base Next, Mobile Premium, PAD Next), many hobex terminals 20007
Ingenico terminals 5577
Verifone, e.g. V200, V400, P400 22000
Alternative configurations 20008

For Worldline, Valina, PAX, PAYONE, VR Payment and savings-bank terminals the port depends on the installed terminal software and the network operator; 20007, 20011, 5577 and 25690 occur, among others. Use the value shown on the device or given by your provider.

Do not enter port 20002 on a hunch

20002 is usually the return channel (till port) in OPI configurations and not the terminal's ZVT port. Enter it only if the terminal provider explicitly names it as the ZVT port.

Countries: ZVT is the terminal standard in Germany and Austria. In Switzerland, PayTec terminals can be connected via ZVT on the LAN; for more on Swiss terminals see Payment terminals Switzerland. For businesses in Spain, DiKAS does not offer the ZVT type for selection.


Prerequisites

  • Till connection active on the terminal: The ECR/till connection over TCP/IP must be switched on at the terminal. The terminal provider or network operator does this on request. A connected network cable alone is not enough.
  • Same network as the till: Terminal on the router or switch by LAN cable. Recommendation: reserve a fixed IP address for the terminal in the router — if it changes, the till no longer reaches the terminal.
  • IP address and port of the terminal (see the table above).
  • If assigned: the terminal password (ECR password) — ask your terminal provider.
  • Firewall/router: The till opens the connection to the terminal (outgoing, TCP to the terminal IP and the configured port). If a firewall or a guest/VLAN separation blocks this path, no connection is made.
  • Cloud till: If the till runs in the cloud, it reaches the terminal through the hardware agent in the shop network — see Hardware agent. The terminal itself stays in the local network.
  • Have the terminal ID (TID), merchant/network operator number and contract data ready — the provider asks for them on queries.
  • A user with access to Admin → Settings.

Setting up in 8 steps

  1. Connect the terminal and have the provider activate the ECR till connection over TCP/IP.
  2. Open payment options: Admin → Settings → Hardware → Payment options.
  3. Add terminal (plus icon) — or click Search devices at the top, enter the local IP range and accept the terminals found. The search checks the ports 20007 → 5577 → 22000 → 20008. An open port alone is not accepted: DiKAS additionally sends a ZVT query and shows only devices with a recognisable ZVT answer. The search stays within the range you entered.
  4. Under Type choose ZVT and enter Name (e.g. "Terminal bar"), IP address, Port and — if assigned — Password.
  5. Check that Terminal has its own printer is set correctly (default: on; see below).
  6. Click Save at the top.
  7. In the row click the Check status icon (Wi-Fi symbol). Below the terminal list the Terminal diagnostics card appears with connection, port/manufacturer, the results of both queries and — depending on the terminal model — Terminal ID (TID), Merchant / network operator no., Software version, Device / model, Serial number, Terminal status and Device state. If the device does not deliver some values, "nicht geliefert" (not delivered) is shown; that alone does not prevent payment.
  8. With several terminals choose the Default terminal below the list. Then make a test payment.

How to tell the setup is complete

Check status must not report only "TCP connected": the ZVT query must also succeed. A yellow warning symbol means the terminal is reachable on the network but rejects the query — usually the till connection on the terminal is wrong (see Errors and remedies).

Several terminals and several tills

  • Several terminals: One entry per terminal with its own name. Which terminal a device uses is set per workstation or on the device under Till settings → Terminal; otherwise the Default terminal applies. If several staff share several terminals, the till can ask for the terminal before every card payment (Till settings → EC terminal → Choose terminal for every EC payment). The payment dialog always shows the terminal's name.
  • Several tills on one terminal: A ZVT terminal serves only one transaction at a time. If several tills work in a network with a shared TSE, the other tills automatically send their commands to the terminal through the till with the TSE. If two tills pay at the same terminal at the same time, the second reports after a few seconds "Terminal belegt, bitte warten." (terminal busy, please wait) instead of hanging without an answer.

Card payment does not work at another till?

Take the payment at the till with the TSE. There the command goes directly to the terminal.


How payment works at the till

  1. Book items, choose Pay, then EC card or Credit card.
  2. The Card payment dialog shows the amount and Terminal: . The amount is on the terminal at the same time.
  3. The guest holds card, phone or smartwatch to the terminal or inserts the card and enters the PIN if needed.
  4. If the terminal shows texts during the payment (e.g. tip selection), DiKAS shows them in the waiting window as Terminal shows: ….
  5. When the terminal confirms the payment, DiKAS shows Payment successful with card info and transaction number; the receipt is booked.

With Cancel in the dialog the transaction is actively cancelled at the terminal — the device then no longer waits for the card.

When does a payment count as successful?

Only if the terminal confirms it with a receipt/trace number. Without confirmation DiKAS does not book and reports the payment as unconfirmed.

Unconfirmed payment

If it is unclear whether a payment command reached the terminal or was carried out, DiKAS shows Payment unconfirmed and the hint Do NOT charge again — check the payment on the terminal. DiKAS does not send the command a second time. Check the receipt on the terminal (or the card total, see below) before charging again — this way no card is charged twice. With ZVT there is no "Check status" button here, because a repeated payment call would be a new charge.

Tip on the terminal

If the guest enters a tip on the terminal, the terminal charges more than requested. The till takes over the difference as a tip and sets the card payment to the amount actually charged. The receipt therefore stays consistent.

Card receipt — who prints?

The switch Terminal has its own printer (under every ZVT row) decides:

  • On (default): The terminal prints customer receipt and end of day itself. DiKAS does not additionally print the card receipt — no double printing.
  • Off: DiKAS prints the card receipt on the till receipt and the EC daily closing through the receipt printer.

Set wrongly = double or missing card receipt

If your terminal has paper and prints, leave the switch on. If it has no printer (e.g. a pure handset), switch it off.

Voiding a card payment

Menu → Invoices, find the receipt, Void, enter a reason. DiKAS first reverses the card payment at the terminal and only then creates the void receipt.

  • The void runs only at the till that serves the payment's terminal. At another till DiKAS reports: Diese Kartenzahlung lief über … Stornieren ist nur an der Kasse mit diesem Terminal möglich. (This card payment ran through …; voiding is only possible at the till with this terminal.)
  • The right Perform card refund is required (administrators always).
  • If a receipt contains several card payments, a total void is not possible; each payment is refunded individually.

Free card refund (refund without original receipt)

Unlike a void, the refund is an independent refund to the card — e.g. for a return on another day or a partial amount.

  1. Menu → Card terminal (visible when a terminal is set up and the user has the right Perform card refund) and choose Refund at the terminal. Alternatively, the Card refund icon in the terminal row in the payment options (table view).
  2. In the Card refund dialog enter the Amount (€), the reason for the refund (Grund der Gutschrift, mandatory) and the tax rate of the refund (Steuersatz der Gutschrift, mandatory).
  3. Choose Process refund; the guest holds the card to the terminal.
  4. DiKAS shows Refund successful and the customer receipt. The refund is booked as its own negative, TSE-signed receipt.

If a refund stays unconfirmed, NICHT erneut erstatten — sonst droht eine doppelte Gutschrift appears (do NOT refund again, otherwise a double refund threatens). With Check status DiKAS reconciles safely.

End of day, sales subtotal, daily closing

  • End of day (EC daily closing): Menu → Card terminal → End of day at the terminal. Afterwards End of day OK appears. Alternatively use the end-of-day icon in the payment options. The terminal's end of day does not run automatically with the till's daily closing, but is triggered per terminal. If the terminal has no printer of its own, DiKAS prints the closing text on the default receipt printer.
  • Sales subtotal (card total): In the payment options (table view) use the icon Sales subtotal (card total) — useful to compare the terminal's card total with the till's card sales.
  • Reprint last receipt: Icon in the terminal row of the payment options (table view); the terminal prints the last receipt once more.

Limits

  • The terminal serves only one transaction at a time; parallel accesses are caught with "Terminal belegt, bitte warten."
  • Without the till connection (ECR/TCP-IP) on the terminal nothing works, even if the IP is reachable.
  • Voids run only at the terminal of the original payment.
  • Terminals drop the connection when idle or at night; the till reconnects itself at the next payment. A "not reachable" display in the device overview is a yellow hint, not an error; it shows the last measured state and does not query the terminal itself.

Errors and remedies

Message / What you see Cause and remedy
Verbindung fehlgeschlagen (connection failed) Terminal not reachable. Check network cable, power, IP address and port; read the port value from the terminal. Are till and terminal in the same network?
NotSupported (terminal reachable but rejects commands) Some devices — e.g. Ingenico — accept commands only after the till has registered. DiKAS does this automatically and repeats the command; nothing needs to be changed on the terminal. If the message stays, check the terminal password and have the network operator or terminal provider check the till connection over TCP/IP (have TID, merchant/network operator number and contract data ready). Changing the IP address or port does not help here.
Terminal belegt, bitte warten. (terminal busy) The terminal is serving another transaction (other till, status query, pending tip selection). Wait briefly and try again.
Zahlung unbestätigt — keine sichere Terminalantwort … Bitte am Terminal prüfen und nicht erneut ausführen. (payment unconfirmed, no reliable terminal answer; check on the terminal, do not repeat) DiKAS does not know whether the card was charged. Check the receipt on the terminal; do not charge again before this is clarified.
Zahlung unbestätigt — an der Kasse abgebrochen. Bitte am Terminal prüfen und nicht erneut kassieren. (cancelled at the till) The transaction was cancelled at the till after the terminal had already received it. Check on the terminal.
Zahlungsausgang unbestätigt — genehmigter Status, aber kein sicherer Abschluss … (approved, but no reliable completion) The terminal approved but did not report completion cleanly. Check on the terminal and do not repeat.
Payment declined The terminal or bank declined the card. Try another card or payment method.
Check status shows a yellow symbol / port open, diagnosis rejected The terminal is reachable, but the ZVT till connection is not (correctly) active. Ask the terminal provider or network operator; check the port.
Terminal yellow ("not reachable") in the device overview Hint, not an error: the terminal dropped the connection while idle. At the next payment DiKAS reconnects. If it stays yellow, Check status.
Card receipt doubled or missing Check the switch Terminal has its own printer (see Card receipt).
Diese Kartenzahlung lief über … Stornieren ist nur an der Kasse mit diesem Terminal möglich. Perform the void at the till that serves this terminal.
Der Beleg enthält mehrere Kartenzahlungen. Bitte jede Zahlung referenzbezogen erstatten. (the receipt contains several card payments) Refund each card payment individually.
Keine Berechtigung für Karten-Erstattungen. (no permission for card refunds) Give the user the right Perform card refund (see Permissions).
Karten-Erstattung fehlgeschlagen: … (card refund failed) The reversal at the terminal failed; the receipt stays unchanged. Check the terminal and try again.

Next step

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