> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Refund Data Members

The following table lists and describes the data members of the `Refund` object.

| Data Member | Data Type | Description |
| - | - | - |
| `amount` | decimal | A decimal representation of a monetary amount for the refund. Even though `amount` is a financial unit, its actual value and meaning depend on the value you set in the currency data member. This amount must not exceed that on the `Transaction` for which you are issuing this refund. |
| `amountIncludesTax` | boolean | Indicates whether the amount is tax-inclusive, or tax-exclusive. |
| `credit` | `Credit` | A credit(s) reversed as part of the refund. This is a read-only field. See the [Credit Subobject](Credit_Subobject#). |
| `currency` | string | The ISO 4217 currency code (see [www.xe.com/iso4217.htm\\](http://www.xe.com/iso4217.htm\\)) for this transaction. |
| `merchantRefundId` | string | A string of a maximum of 255 characters that represents your unique identifier for this `Refund` object. For refunds issued through the Subscribe Portal, Subscribe automatically generates this ID, with a prefix provided Vindicia when Subscribe was initially configured for your company. Vindicia recommends that you use a different prefix for this ID to avoid collision with Subscribe-generated IDs. **Note:** Use of the forward slash character (/) in merchant identifiers is not allowed. See [Merchant Identifiers](Merchant_Identifiers#) for more information. |
| `nameValues` | `NameValuePair` | An optional array of name-value pair items specific to this refund. See [The NameValuePair Object](The_NameValuePair_Object#). |
| `note` | string | An optional memo regarding the refund. |
| `referenceString` | string | The data returned from the payment processor, such as the latter’s ID for the refund. This field is only for refunds that are processed outside of Subscribe, and that are reported to Vindicia for chargeback processing only. For refunds processed through Subscribe, leave this field blank. |
| `refundItems` | `RefundItem` | An array of `RefundItem` objects. May be left empty if the `refundDistributionStrategy` is not set to `SpecifiedItems`. See the [RefundItem Subobject](RefundItem_Subobject#). |
| `refundDistributionStrategy` | string | Defines how refunds against a payment transaction are processed. If unspecified, a default value of `None` will be used. The following values are currently supported: - `None`—applies the refund using the older, `Transaction`-level approach, which applies a refund against a Transaction as a whole, grouping all individual purchases (or line items) into a single `Transaction` amount. Note that once you partially refund a particular Transaction using the `Transaction`-level approach, you must continue to use this same approach on subsequent refunds on that original Transaction. Any attempt at a `SpecifiedItems` refund against a Transaction in which the older `Transaction`-level refund has been performed will return an error. If unspecified, a default value of `None`will be used. **Note:** `Transaction`-level refunds feed back to the dependent provider but do not flow through to the tax service. - `SpecifiedItems`—designates a refund for any or all of the purchased items on the original transaction. When applying the refund, you can either specify `TaxOnly` for the item, or you can specify an amount to affect a full or partial refund at the item level. If you specify an amount, it cannot exceed the original `TransactionItem`amount (minus any discounts, and minus the sum of all prior refunds against this item). Also, when you specify items, you must pass `RefundItem` with the details of how to refund each item—if you select either `None` or `RemainingBalance`, you do not need to provide `RefundItems`. - `RemainingBalance`—refunds the balance remaining (at the line item-level) for the original `Transaction`. |
| `status` | `RefundStatus` | Status of the refund. - `Reported`—refund has been issued but has not been processed by the payment processor/issuer. - `Processing`—refund call has been requested for a transaction that has not yet been captured. The refund will start processing after capture (refunds are batched and sent daily). - `Failed`—payment processor has rejected the refund. - `Complete`—refund has been sent and processed by payment processor. |
| `timestamp` | `dateTime` | A time stamp that specifies the date and time of the refund. For refunds processed through Subscribe, leave this field blank. Subscribe will fill it in the `Refund` object returned to you in response to a `fetch` call or the `perform()` call. |
| `tokenAction` | `RefundTokenAction` | The Subscribe action for handling the Token grant when processing the refund. Specify this attribute when issuing a refund for a Transaction that granted Tokens to a customer’s Account. See the [RefundTokenAction Subobject](RefundTokenAction_Subobj#) . |
| `transaction` | `Transaction` | The original Transaction to which this refund applies, which must have been successfully captured through Subscribe. To process this Refund through Subscribe, populate this field with the VID or your transaction ID (`merchantTransactionId`) to identify the transaction. If you are reporting the refund to Vindicia for chargeback processing only, and have already reported this transaction, identify it with the `merchantTransactionId`. If you have not yet reported the Transaction with this ID, Subscribe creates a stub `Transaction`object that contains only the `merchantTransactionId` value, with the assumption that the Transaction information will be completed at a later date. See [Transaction Data Members](Transaction_Data_Members#). |
| `VID` | string | Vindicia's Globally Unique Identifier (GUID) for this object. When creating a new `Refund` object, leave this field blank; it will be automatically populated by Subscribe. |
| **Parent topic:**[The Refund Object](../topics/The_Refund_Object) | | |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.