Create a refund
Refunds a charge. Identify it with exactly one of charge_id or
payment_intent_id. Omit amount for a full refund, or pass an amount
in minor units for a partial one. For a settled PIN-debit terminal
payment, pass the Ionic terminal_id assigned to your account where the customer
will present the card. Ionic chooses Void, Refund, or interactive Return;
never send a device serial number or credential. A refund settles
asynchronously; its status is pending until the result is final.
Authorizations
A merchant secret key (sk_…) sent as Authorization: Bearer <key>.
Headers
A unique key that makes retries safe: the same key with the same request body returns the original response instead of repeating the operation.
255Body
Identify the charge with exactly one of charge_id or payment_intent_id.
The charge to refund (ch_…).
The intent whose latest charge to refund (pi_…).
Amount in minor units. Omit for a full refund.
Optional terminal (tmr_…) used when a card-present Refund requires an interactive card or PIN prompt.
An optional audit/reporting category — one of requested_by_customer, duplicate, or fraudulent. Omitted values record no reason and have no effect on refund behavior.
requested_by_customer, duplicate, fraudulent Response
The created refund.
The refund id (rf_…).
Always refund.
refund Mirrors the mode of the underlying charge.
The refunded charge (ch_…).
The parent payment intent (pi_…).
Terminal (tmr_…) selected for the Refund request, or null when no terminal was supplied.
The refunded amount, in minor units. Full or partial.
The refund's currency, matching amount's currency.
pending while the Refund is being processed; uncertain when its final outcome is not known yet. Retrieve the Refund again before retrying.
pending, succeeded, failed, uncertain An optional audit/reporting category — one of requested_by_customer, duplicate, or fraudulent. Null when not supplied; has no effect on refund behavior.
requested_by_customer, duplicate, fraudulent Terminal batch (tmb_…) containing this Refund. Null until the Refund is settled in a batch.
Unix epoch seconds when the Refund settled. Null until settlement completes.
A human-readable failure detail. Nullable; present when the refund failed.
Unix epoch seconds when the refund was created.
Unix epoch seconds when the refund was last updated.

