Skip to content
Last updated

Pay@Table

Pay@Table lets restaurants take card payments at the table instead of at the counter. Staff bring a terminal to the table, and the terminal — not the POS — drives the transaction: it asks the POS for the amount owing, offers the customer a full payment or a split bill, and posts the result back once the payment completes.

Pay@Table isn't reached through the JS library, .NET library or In-store API — it's a separate protocol. The terminal connects directly to an HTTP (LAN-based) or HTTPS (cloud-based) endpoint that the POS exposes, rather than the POS driving the terminal the way the other three integration paths do.

The workflow for a typical Pay@Table transaction is:

  1. The customer indicates to staff that they're ready to pay the bill.
  2. A staff member takes a Pay@Table terminal and enters their operator ID and the table number.
  3. The terminal connects to the restaurant's POS server over HTTP and requests the amount for that table.
  4. The POS server returns the amount to the terminal.
  5. The terminal asks whether the customer wants to pay the full amount or split the bill.
  6. If splitting the bill, the customer enters the amount to pay.
  7. The terminal prompts for the card, account type and PIN or signature.
  8. Once approved, the terminal prints the receipt and posts the transaction result back to the POS server.

Traditional integrations — including the .NET library — lock up the POS for the duration of the transaction: it can't be used again until the transaction completes. Whether that's a problem depends on the environment. In a supermarket, customers already expect to queue and pay in sequence, but in a busy restaurant with one POS at the counter and a queue of customers trying to pay at the end of a sitting, that lock-up becomes a real bottleneck. Pay@Table avoids it: the terminal pulls the amount from the POS rather than the POS pushing it and waiting for a result, so the POS stays free for other transactions while the terminal handles payment.

Pay@Table runs in three modes — Restaurant, Restaurant & Bar, and Retail — covered on Specification.

Before starting development, read the Pay@Table certification criteria document.

Tyro Pay@Table simulator

A Java command-line test harness is available for POS vendors developing and testing a Pay@Table implementation. It generates the same messages a terminal in Pay@Table mode would send.

The archive includes its own instructions for use.

Pay@Table simulator