2. Aborting a transaction

Abort stops an in-progress transaction — one that has not yet returned a result, typically while the cardholder is being prompted. It is the API equivalent of pressing Cancel on the terminal. For a completed transaction, use Reversing a transaction instead.

The request

POST /abort-transaction/PAX:{serialNumber}?waitTime=20

The waitTime parameter applies here as on any transaction endpoint.

Reading the outcome

Check the status field of the response body — the HTTP code does not indicate whether the abort succeeded. The aborted payment itself resolves as a failed transaction; if your original request is still within its waitTime window, that is where its final state arrives (or on the webhook).

Timing reality

Abort is best-effort. If the cardholder has already presented the card and authorisation is under way, the abort can lose the race and the payment completes approved. Handle "abort sent, payment approved anyway": verify the actual outcome (Checking the last transaction), and if it approved, follow up with a cancellation. Make that path one cashier action.

Related

  • Reversing a transaction (Cloud API) — the follow-up when the abort arrives too late.
  • Checking the last transaction — resolving what actually happened.