## Overview

After creating a `transaction`, you can manage it through various states and integrate each of these actions into your order management system where you fulfill orders and/or process payments, refunds, and cancelations.

## Read

With the [`Read Transaction API`](🔗), you can use the `id` returned from the `transaction` object to retrieve all checkout data and the transaction status associated with a specific transaction. Reading transaction information is useful for updating your records or order management system with the current state of a transaction before performing any actions on it. It can also keep your system in sync with Affirm if your staff is manually managing loans in the merchant dashboard.

You can read single or multiple transactions. Note that if you don't specify an `id`, the response includes a list of transactions. You can define how the results are paginated using the `limit`, `before`, and `after` query parameters.

## Void

[Voiding an authorized transaction](🔗) does the following:

  • Permanently cancels a loan

  • Notifies the user that the transaction was canceled

To cancel or delete an authorized transaction, use the `id` associated with the transaction to void it. For example, this can occur when a user decides to cancel their order before it's fulfilled. Note that we can only void uncaptured loans.

## Refund

[Refund a transaction](🔗) based on the original purchase, similar to refunding a credit card transaction. Affirm automatically calculates all interest and fees corresponding to the refunded amount.

Additionally, you can optionally refund part of a transaction by specifying an amount. For partial refunds, you can apply any amount of refunds so long as there is a positive balance on the loan.

Once a loan has been fully refunded, it can’t be reinstated. You can refund the customer using the `Refund Transaction` request or the [Merchant Portal](🔗).

## Update

Use the [`Update Transaction`](🔗) request to update a transaction with new fulfillment or order information, such as `shipping_confirmation`, `shipping_carrier`, or `order_id`. Settlement reports associate your internal order IDs with specific Affirm transactions.