Transaction Requests

Last updated: 2026-03-25

Overview

These endpoints cover the full lifecycle of an in-store payment — from initiating a purchase on a terminal, polling for the outcome, and printing a receipt, to correcting or undoing a transaction after the fact.

OperationDescription
PurchaseInitiate a card payment on a specific terminal. The terminal is notified in real time and prompts the customer to present their card. Returns an onlineAPIRefId to track the outcome.
Retrieve StatusPoll the current status of any transaction by its onlineAPIRefId. Returns transaction status, receipt data, and merchant data when complete.
CancelAbort a transaction while it is still pending or in progress on the terminal. Has no effect if the transaction has already been approved or completed.
RefundReturn funds to the customer's card for a settled transaction. Optionally provide the transactionId of the original purchase. Supports full and partial refunds.
ReverseUndo an approved but unsettled transaction on the card network. Use immediately after an incorrect approval. If the transaction has already settled, use Refund instead.
Print ReceiptSend an HTML receipt to the terminal's built-in printer. The terminal renders and prints the content.

Cancel vs. Reverse vs. Refund — which one to use?

SituationUse
Transaction is still in progress on the terminalCancel
Transaction was approved but has not yet settled (same day, wrong amount etc.)Reverse
Transaction has settled and the customer needs their money backRefund

Transaction Flow

Transaction Call Flow

Reference IDs

Each transaction response includes an onlineAPIRefId generated by the server. Use it to:

  • Poll the transaction status via Retrieve Status
  • Link a refund to the original purchase via the transactionId field in the Refund request