Set up a Terminal API integration by obtaining a POIID (terminal serial number) and configuring your terminal in the Customer Area under Point of Sale
POST a SaleToPOIRequest with MessageCategory: Payment to the cloud Terminal API endpoint, including the SaleData (sale ID, transaction ID) and PaymentRequest (amount, currency)
Optionally include the SaleToAcquirerData field to pass additional metadata such as split data or custom fields to the acquirer
Poll for or receive the synchronous SaleToPOIResponse; inspect the Response.Result field for Success, Failure, or Partial, and extract the PaymentReceipt for printing
For asynchronous flows, correlate the response via the ServiceID in the request/response pair and handle TimeOut events by sending a TransactionStatus request to check terminal state
Known gotchas
The cloud Terminal API endpoint is separate from the Checkout Sessions API; do not send Terminal API payloads to the /sessions or /payments path
POIID must exactly match the terminal serial number registered in the Customer Area; a mismatch causes the request to be rejected with a routing error
Terminal API calls may time out if the terminal is offline or the customer interaction takes too long; always implement a TransactionStatus request to resolve ambiguous outcomes rather than assuming failure
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp