---
displayed_sidebar: entitiesSidebar
slug: /references/entities/classes/Refund
---

import ParameterTypes from "@site/src/components/ParameterTypes"

# Refund

A refund represents an amount of money transfered back to the customer for a given reason. Refunds may occur in relation to Returns, Swaps and Claims, but can also be initiated by an admin for an order.

## Properties

<ParameterTypes parameters={[
  {
    "name": "amount",
    "type": "`number`",
    "description": "The amount that has be refunded to the Customer.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "created_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was created.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "id",
    "type": "`string`",
    "description": "The refund's ID",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "idempotency_key",
    "type": "`string`",
    "description": "Randomly generated key used to continue the completion of the refund in case of failure.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "metadata",
    "type": "`Record<string, unknown>`",
    "description": "An optional key-value map with additional details",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "note",
    "type": "`string`",
    "description": "An optional note explaining why the amount was refunded.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "order",
    "type": "[Order](entities.Order.mdx)",
    "description": "The details of the order this refund was created for.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": [
      {
        "name": "billing_address",
        "type": "[Address](entities.Address.mdx)",
        "description": "The details of the billing address associated with the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "billing_address_id",
        "type": "`string`",
        "description": "The ID of the billing address associated with the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "canceled_at",
        "type": "`Date`",
        "description": "The date the order was canceled on.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "cart",
        "type": "[Cart](entities.Cart.mdx)",
        "description": "The details of the cart associated with the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "cart_id",
        "type": "`string`",
        "description": "The ID of the cart associated with the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "claims",
        "type": "[ClaimOrder](entities.ClaimOrder.mdx)[]",
        "description": "The details of the claims created for the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "created_at",
        "type": "`Date`",
        "description": "The date with timezone at which the resource was created.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "currency",
        "type": "[Currency](entities.Currency.mdx)",
        "description": "The details of the currency used in the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "currency_code",
        "type": "`string`",
        "description": "The 3 character currency code that is used in the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "customer",
        "type": "[Customer](entities.Customer.mdx)",
        "description": "The details of the customer associated with the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "customer_id",
        "type": "`string`",
        "description": "The ID of the customer associated with the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "discount_total",
        "type": "`number`",
        "description": "The total of discount rounded",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "discounts",
        "type": "[Discount](entities.Discount.mdx)[]",
        "description": "The details of the discounts applied on the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "display_id",
        "type": "`number`",
        "description": "The order's display ID",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "draft_order",
        "type": "[DraftOrder](entities.DraftOrder.mdx)",
        "description": "The details of the draft order this order was created from.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "draft_order_id",
        "type": "`string`",
        "description": "The ID of the draft order this order was created from.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "edits",
        "type": "[OrderEdit](entities.OrderEdit.mdx)[]",
        "description": "The details of the order edits done on the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "email",
        "type": "`string`",
        "description": "The email associated with the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "external_id",
        "type": "`null` \\| `string`",
        "description": "The ID of an external order.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "fulfillment_status",
        "type": "[FulfillmentStatus](../enums/entities.FulfillmentStatus.mdx)",
        "description": "The order's fulfillment status",
        "optional": false,
        "defaultValue": "not_fulfilled",
        "expandable": false,
        "children": []
      },
      {
        "name": "fulfillments",
        "type": "[Fulfillment](entities.Fulfillment.mdx)[]",
        "description": "The details of the fulfillments created for the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "gift_card_tax_total",
        "type": "`number`",
        "description": "The total of gift cards with taxes",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "gift_card_total",
        "type": "`number`",
        "description": "The total of gift cards",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "gift_card_transactions",
        "type": "[GiftCardTransaction](entities.GiftCardTransaction.mdx)[]",
        "description": "The gift card transactions made in the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "gift_cards",
        "type": "[GiftCard](entities.GiftCard.mdx)[]",
        "description": "The details of the gift card used in the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "id",
        "type": "`string`",
        "description": "The order's ID",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "idempotency_key",
        "type": "`string`",
        "description": "Randomly generated key used to continue the processing of the order in case of failure.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "item_tax_total",
        "type": "`null` \\| `number`",
        "description": "The tax total applied on items",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "items",
        "type": "[LineItem](entities.LineItem.mdx)[]",
        "description": "The details of the line items that belong to the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "metadata",
        "type": "`Record<string, unknown>`",
        "description": "An optional key-value map with additional details",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "no_notification",
        "type": "`boolean`",
        "description": "Flag for describing whether or not notifications related to this should be send.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "object",
        "type": "`\"order\"`",
        "description": "",
        "optional": false,
        "defaultValue": "\"order\"",
        "expandable": false,
        "children": []
      },
      {
        "name": "paid_total",
        "type": "`number`",
        "description": "The total amount paid",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "payment_status",
        "type": "[PaymentStatus](../enums/entities.PaymentStatus.mdx)",
        "description": "The order's payment status",
        "optional": false,
        "defaultValue": "not_paid",
        "expandable": false,
        "children": []
      },
      {
        "name": "payments",
        "type": "[Payment](entities.Payment.mdx)[]",
        "description": "The details of the payments used in the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "raw_discount_total",
        "type": "`number`",
        "description": "The total of discount",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "refundable_amount",
        "type": "`number`",
        "description": "The amount that can be refunded",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "refunded_total",
        "type": "`number`",
        "description": "The total amount refunded if the order is returned.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "refunds",
        "type": "[Refund](entities.Refund.mdx)[]",
        "description": "The details of the refunds created for the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "region",
        "type": "[Region](entities.Region.mdx)",
        "description": "The details of the region this order was created in.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "region_id",
        "type": "`string`",
        "description": "The ID of the region this order was created in.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "returnable_items",
        "type": "[LineItem](entities.LineItem.mdx)[]",
        "description": "The details of the line items that are returnable as part of the order, swaps, or claims",
        "optional": true,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "returns",
        "type": "[Return](entities.Return.mdx)[]",
        "description": "The details of the returns created for the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "sales_channel",
        "type": "[SalesChannel](entities.SalesChannel.mdx)",
        "description": "The details of the sales channel this order belongs to.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "sales_channel_id",
        "type": "`null` \\| `string`",
        "description": "The ID of the sales channel this order belongs to.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "shipping_address",
        "type": "[Address](entities.Address.mdx)",
        "description": "The details of the shipping address associated with the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "shipping_address_id",
        "type": "`string`",
        "description": "The ID of the shipping address associated with the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "shipping_methods",
        "type": "[ShippingMethod](entities.ShippingMethod.mdx)[]",
        "description": "The details of the shipping methods used in the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "shipping_tax_total",
        "type": "`null` \\| `number`",
        "description": "The tax total applied on shipping",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "shipping_total",
        "type": "`number`",
        "description": "The total of shipping",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "status",
        "type": "[OrderStatus](../enums/entities.OrderStatus.mdx)",
        "description": "The order's status",
        "optional": false,
        "defaultValue": "pending",
        "expandable": false,
        "children": []
      },
      {
        "name": "subtotal",
        "type": "`number`",
        "description": "The subtotal of the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "swaps",
        "type": "[Swap](entities.Swap.mdx)[]",
        "description": "The details of the swaps created for the order.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "tax_rate",
        "type": "`null` \\| `number`",
        "description": "The order's tax rate",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "tax_total",
        "type": "`null` \\| `number`",
        "description": "The total of tax",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "total",
        "type": "`number`",
        "description": "The total amount of the order",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "updated_at",
        "type": "`Date`",
        "description": "The date with timezone at which the resource was updated.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "order_id",
    "type": "`string`",
    "description": "The ID of the order this refund was created for.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "payment",
    "type": "[Payment](entities.Payment.mdx)",
    "description": "The details of the payment associated with the refund.",
    "optional": false,
    "defaultValue": "",
    "expandable": true,
    "children": [
      {
        "name": "amount",
        "type": "`number`",
        "description": "The amount that the Payment has been authorized for.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "amount_refunded",
        "type": "`number`",
        "description": "The amount of the original Payment amount that has been refunded back to the Customer.",
        "optional": false,
        "defaultValue": "0",
        "expandable": false,
        "children": []
      },
      {
        "name": "canceled_at",
        "type": "`string` \\| `Date`",
        "description": "The date with timezone at which the Payment was canceled.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "captured_at",
        "type": "`string` \\| `Date`",
        "description": "The date with timezone at which the Payment was captured.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "cart",
        "type": "[Cart](entities.Cart.mdx)",
        "description": "The details of the cart that the payment session was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "cart_id",
        "type": "`string`",
        "description": "The ID of the cart that the payment session was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "created_at",
        "type": "`Date`",
        "description": "The date with timezone at which the resource was created.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "currency",
        "type": "[Currency](entities.Currency.mdx)",
        "description": "The details of the currency of the payment.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "currency_code",
        "type": "`string`",
        "description": "The 3 character ISO currency code of the payment.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "data",
        "type": "`Record<string, unknown>`",
        "description": "The data required for the Payment Provider to identify, modify and process the Payment. Typically this will be an object that holds an id to the external payment session, but can be an empty object if the Payment Provider doesn't hold any state.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "id",
        "type": "`string`",
        "description": "The payment's ID",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "idempotency_key",
        "type": "`string`",
        "description": "Randomly generated key used to continue the completion of a payment in case of failure.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "metadata",
        "type": "`Record<string, unknown>`",
        "description": "An optional key-value map with additional details",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "order",
        "type": "[Order](entities.Order.mdx)",
        "description": "The details of the order that the payment session was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "order_id",
        "type": "`string`",
        "description": "The ID of the order that the payment session was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "provider_id",
        "type": "`string`",
        "description": "The id of the Payment Provider that is responsible for the Payment",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "swap",
        "type": "[Swap](entities.Swap.mdx)",
        "description": "The details of the swap that this payment was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": true,
        "children": []
      },
      {
        "name": "swap_id",
        "type": "`string`",
        "description": "The ID of the swap that this payment was potentially created for.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      },
      {
        "name": "updated_at",
        "type": "`Date`",
        "description": "The date with timezone at which the resource was updated.",
        "optional": false,
        "defaultValue": "",
        "expandable": false,
        "children": []
      }
    ]
  },
  {
    "name": "payment_id",
    "type": "`string`",
    "description": "The payment's ID, if available.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "reason",
    "type": "`string`",
    "description": "The reason given for the Refund, will automatically be set when processed as part of a Swap, Claim or Return.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  },
  {
    "name": "updated_at",
    "type": "`Date`",
    "description": "The date with timezone at which the resource was updated.",
    "optional": false,
    "defaultValue": "",
    "expandable": false,
    "children": []
  }
]} expandUrl="https://docs.medusajs.com/development/entities/repositories#retrieving-a-list-of-records"/>
