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
The provider’s own explanation of the failure, or null.
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
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