Skip to main content
A Refund is one full or partial reversal of a payment, issued with Refund Payment. It records how much moved, through which provider, and whether it succeeded. Use the Refunds API to list the refunds on a payment or across an account, and to retrieve a single refund.

Endpoints

Attributes

string
required
Refund ID, prefixed rf_.
string | null
required
The account that issued the refund, prefixed biz_.
object | null
required
The refunded amount as it settled, in the payment’s settlement currency, so pages of refunds net against the payment’s refunded_amount. Converted at the rate in force when the refund was issued, not the payment’s original rate. Null only when no exchange rate is recorded for a legacy multi-currency payment.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
When the refund was requested, as an ISO 8601 timestamp.
string | null
required
A merchant-facing explanation of why the refund failed, in the request’s language. Null unless the refund failed or was canceled.
string | null
required
Why the refund failed, normalized across providers. Null unless the refund failed or was canceled.Available options: bank_declined, expired_or_canceled_card, lost_or_stolen_card, insufficient_funds, charge_disputed, not_refundable, merchant_request, unknown
object | null
required
Your own key-value data attached when the refund was requested.
object
required
The refunded amount in the currency the processor moved.

Properties

string
required
The amount in major units, as an exact decimal string — "10.00" is ten dollars. A string so no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount CARRIES — the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
The payment this refund reverses, prefixed pay_.
string
required
The payment provider that processed the refund, such as paypal or coinbase.
string | null
required
When the provider created the refund, as an ISO 8601 timestamp.
string | null
required
Why the refund was issued, when recorded.Available options: duplicate, fraudulent, requested_by_customer, expired_uncaptured_charge, dispute_alert
string | null
required
Whether a banking-network tracking reference is available for this refund.Available options: available, pending, unavailable
string | null
required
The kind of tracking reference, such as an acquirer reference number.Available options: acquirer_reference_number, retrieval_reference_number, system_trace_audit_number
string | null
required
The tracking reference the buyer’s bank can trace the refund by.
string
required
Where the refund stands with the processor: pending, requires_action, succeeded, failed, or canceled.Available options: pending, requires_action, succeeded, failed, canceled
string
required
When the refund last changed, as an ISO 8601 timestamp.
boolean
required
True when the card network initiated the refund through Rapid Dispute Resolution.
Refund