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:
- The customer indicates to staff that they're ready to pay the bill.
- A staff member takes a Pay@Table terminal and enters their operator ID and the table number.
- The terminal connects to the restaurant's POS server over HTTP and requests the amount for that table.
- The POS server returns the amount to the terminal.
- The terminal asks whether the customer wants to pay the full amount or split the bill.
- If splitting the bill, the customer enters the amount to pay.
- The terminal prompts for the card, account type and PIN or signature.
- 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.
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.