Charges
get/v1/charges/{charge}/refunds

List all refunds

You can see a list of the refunds belonging to a specific charge. Note that the 10 most recent refunds are always available by default on the charge object. If you need more than those 10, you can use this API method and the limit and starting_after parameters to page through additional refunds.

Path parameters

NameDescription
charge*

Query parameters

NameDescription
ending_beforeA cursor for use in pagination. ending_before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar in order to fetch the previous page of the list.
expandSpecifies which fields in the response should be expanded.
limitA limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
starting_afterA cursor for use in pagination. starting_after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo in order to fetch the next page of the list.

Request body

object (no properties in spec)

Response

FieldTypeDescription
data*array<refund>

Details about each object.

array item fields
FieldTypeDescription
amount*integer

Amount, in cents (or local equivalent).

balance_transactionstring | balance_transaction

Balance transaction that describes the impact on your account balance.

chargestring | charge

ID of the charge that's refunded.

created*integer (unix-time)

Time at which the object was created. Measured in seconds since the Unix epoch.

currency*string (currency)

Three-letter ISO currency code, in lowercase. Must be a supported currency.

descriptionstring

An arbitrary string attached to the object. You can use this for displaying to users (available on non-card refunds only).

destination_detailsrefund_destination_details
30 nested fields
FieldTypeDescription
affirmdestination_details_unimplemented
afterpay_clearpaydestination_details_unimplemented
alipaydestination_details_unimplemented
almadestination_details_unimplemented
amazon_paydestination_details_unimplemented
au_bank_transferdestination_details_unimplemented
blikrefund_destination_details_blik
br_bank_transferrefund_destination_details_br_bank_transfer
cardrefund_destination_details_card
cashappdestination_details_unimplemented
cryptorefund_destination_details_crypto
customer_cash_balancedestination_details_unimplemented
epsdestination_details_unimplemented
eu_bank_transferrefund_destination_details_eu_bank_transfer
gb_bank_transferrefund_destination_details_gb_bank_transfer
giropaydestination_details_unimplemented
grabpaydestination_details_unimplemented
jp_bank_transferrefund_destination_details_jp_bank_transfer
klarnadestination_details_unimplemented
mb_wayrefund_destination_details_mb_way
multibancorefund_destination_details_multibanco
mx_bank_transferrefund_destination_details_mx_bank_transfer
nz_bank_transferdestination_details_unimplemented
p24refund_destination_details_p24
paynowdestination_details_unimplemented
paypalrefund_destination_details_paypal
pixdestination_details_unimplemented
revolutdestination_details_unimplemented
scalapaydestination_details_unimplemented
sofortdestination_details_unimplemented
failure_balance_transactionstring | balance_transaction

After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.

failure_reasonstring

Provides the reason for the refund failure. Possible values are: lost_or_stolen_card, expired_or_canceled_card, charge_for_pending_refund_disputed, insufficient_funds, declined, merchant_request, or unknown.

id*string

Unique identifier for the object.

instructions_emailstring

For payment methods without native refund support (for example, Konbini, PromptPay), provide an email address for the customer to receive refund instructions.

metadataobject

Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

next_actionrefund_next_action
2 nested fields
FieldTypeDescription
display_detailsrefund_next_action_display_details
type*string

Type of the next action to perform.

object*string

String representing the object's type. Objects of the same type share the same value.

payment_intentstring | payment_intent

ID of the PaymentIntent that's refunded.

pending_reasonstring

Provides the reason for why the refund is pending. Possible values are: processing, insufficient_funds, or charge_pending.

presentment_detailspayment_flows_payment_intent_presentment_details
2 nested fields
FieldTypeDescription
presentment_amount*integer

Amount intended to be collected by this payment, denominated in presentment_currency.

presentment_currency*string

Currency presented to the customer during payment.

reasonstring

Reason for the refund, which is either user-provided (duplicate, fraudulent, or requested_by_customer) or generated by Stripe internally (expired_uncaptured_charge).

receipt_numberstring

This is the transaction number that appears on email receipts sent for this refund.

source_transfer_reversalstring | transfer_reversal

The transfer reversal that's associated with the refund. Only present if the charge came from another Stripe account.

statusstring

Status of the refund. This can be pending, requires_action, succeeded, failed, or canceled. Learn more about failed refunds.

transfer_reversalstring | transfer_reversal

This refers to the transfer reversal object if the accompanying transfer reverses. This is only applicable if the charge was created using the destination parameter.

has_more*boolean

True if this list has another page of items after this one that can be fetched.

object*string

String representing the object's type. Objects of the same type share the same value. Always has the value list.

url*string

The URL where this list can be accessed.