Request cancellation of an active Terminal Payment
Records the cancellation request, then sends at most one abort
command to the Terminal. cancellation_requested: true is not a
financial outcome, and an HTTP 200 does not mean the payment was
canceled. Read the returned status, retrieve the same Terminal
Payment, or consume terminal-payment webhooks. The payment can still
be approved after the request; refund an unwanted late approval
separately. Cancellation checks are read-only: Ionic checks the
status of the original attempt and never resubmits it.
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_Unique checkout-attempt key. Reuse the same value only when retrying the same request body and route.
1 - 255Path Parameters
Terminal Payment identifier.
^tpr_Response
The Terminal Payment; inspect status.
^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.

