# The Refund object

### The Refund object

```json
{
  "id": "re_1Nispe2eZvKYlo2Cd31jOCgZ",
  "object": "refund",
  "amount": 1000,
  "balance_transaction": "txn_1Nispe2eZvKYlo2CYezqFhEx",
  "charge": "ch_1NirD82eZvKYlo2CIvbtLWuY",
  "created": 1692942318,
  "currency": "usd",
  "destination_details": {
    "card": {
      "reference": "123456789012",
      "reference_status": "available",
      "reference_type": "acquirer_reference_number",
      "type": "refund"
    },
    "type": "card"
  },
  "metadata": {},
  "payment_intent": "pi_1GszsK2eZvKYlo2CfhZyoZLp",
  "reason": null,
  "receipt_number": null,
  "source_transfer_reversal": null,
  "status": "succeeded",
  "transfer_reversal": null
}
```

## Attributes

- `id` (string)
  Unique identifier for the object.

- `object` (string)
  String representing the object’s type. Objects of the same type share the same value.

- `amount` (integer)
  Amount, in the smallest currency unit.

- `balance_transaction` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  Balance transaction that describes the impact on your account balance.

- `charge` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the charge that’s refunded.

- `created` (timestamp)
  Time at which the object was created. Measured in seconds since the Unix epoch.

- `currency` (enum)
  Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://docs.stripe.com/currencies.md).

- `customer` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the customer of this refund.

- `customer_account` (string, nullable)
  ID of the account of this refund.

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

- [`destination_details`](https://docs.stripe.com/api/refunds/object.md?query=destination_details) (object, nullable)
  Transaction-specific details for the refund.

- `failure_balance_transaction` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  After the refund fails, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction.

- `failure_reason` (string, nullable)
  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`.

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

- `metadata` (map, nullable)
  Set of [key-value pairs](https://docs.stripe.com/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.

- [`next_action`](https://docs.stripe.com/api/refunds/object.md?query=next_action) (object, nullable)
  If the refund has a status of `requires_action`, this property describes what the refund needs to continue processing.

- `payment_intent` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the PaymentIntent that’s refunded.

- `payment_method` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  ID of the payment method associated with this refund.

- `pending_reason` (enum, nullable)
  Provides the reason for why the refund is pending. Possible values are: `processing`, `insufficient_funds`, or `charge_pending`.

- [`presentment_details`](https://docs.stripe.com/api/refunds/object.md?query=presentment_details) (object, nullable)
  A hash containing information about the currency presentation to the customer, including the displayed currency and amount used for conversion from the integration currency.

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

- `receipt_number` (string, nullable)
  This is the transaction number that appears on email receipts sent for this refund.

- `source_transfer_reversal` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  The transfer reversal that’s associated with the refund. Only present if the charge came from another Stripe account.

- `status` (string, nullable)
  Status of the refund. This can be `pending`, `requires_action`, `succeeded`, `failed`, or `canceled`. Learn more about [failed refunds](https://docs.stripe.com/refunds.md#failed-refunds).

- `transfer_reversal` (string, nullable, expandable (can be expanded into an object with the `expand` request parameter))
  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.
