Retrieve a Terminal Payment
Retrieves one Terminal Payment in the authenticated Merchant and key
mode. Use this route after pending, in_progress, or unknown;
resolve ambiguity by retrieving, not by processing the payment again.
An unresolved payment remains attached to its PaymentIntent and does
not block the Terminal indefinitely. This GET reads Ionic’s latest
durable state and does not itself send a command to the Terminal.
Ionic can update an unknown attempt when the original payment reaches
a confirmed result; retrieval never resubmits Sale.
Authorizations
Merchant secret key, or a Platform secret key with delegation.
Headers
Merchant ID when an authorized Platform acts for a connected Merchant. Omit when authenticating directly as that Merchant.
^mer_Path Parameters
Terminal Payment identifier.
^tpr_Response
The Terminal Payment.
^tpr_terminal_payment ^mer_^tmr_^pi_Present only after an approved attempt creates a Charge.
^ch_PaymentIntent amount in minor currency units.
x >= 1x >= 0x >= 0usd Tender type used for this attempt.
credit, debit, ebt_food, ebt_cash succeeded: approved; complete the sale.
voided: authorized and then voided; do not complete the sale.
declined: explicitly declined; request another tender.
canceled: interaction canceled or timed out. When
cancellation_requested is true, the PaymentIntent is also canceled;
create a new PaymentIntent if payment is still needed. Otherwise,
retry this PaymentIntent only after it returns to
requires_payment_method, using a new Idempotency-Key.
failed: known processing failure; show the failure before a new attempt.
unknown: both the command response and the immediate read-only status
check were inconclusive; do not process the order again.
pending or in_progress: retrieve this Terminal Payment until final.
pending, in_progress, unknown, succeeded, voided, declined, failed, canceled Whether cancellation was requested. This alone does not mean the payment was canceled.
Stable Ionic detail for a known non-approval. This is intentionally an
open string: branch on status, use recognized values for richer POS
guidance, and fall back to failure_message for an unfamiliar value.
Raw device responses are not returned.
Currently emitted values:
dispatch_not_started: Ionic rejected the command before payment processing began.processor_error: Ionic confirmed a final processing failure.invalid_routing: the Merchant's payment setup is invalid.pin_processing_error: PIN processing failed.do_not_honor: the payment received a generic decline.insufficient_funds: the payment was declined for insufficient funds.incorrect_pin: the payment was declined for an incorrect PIN.pin_attempts_exceeded: the PIN retry limit was reached.transaction_not_permitted: the transaction is not permitted for the selected payment setup.
Safe Ionic explanation suitable for a POS.

