## Overview

Transactions represent the Affirm loans that are issued to the end-user. You can interact with transactions via the [Transactions API](🔗) in order to change the state of that transaction, update metadata, or retrieve details.

Transaction management

Transaction management

## Transactions authorization

[Transactions authorization](🔗) occurs after a user has successfully completed the Affirm checkout flow and returns back to the merchant site. Authorizing the transaction generates a unique `id` that will be used to reference the loan moving forward.

## Country-code request header

To move outside of the United States, any API calls that are made to Affirm such as Auth, Capture Transaction, etc., need to include this custom `HTTP` header parameter to those requests:

  • `country-code`

When the `country-code` parameter is used, it will be followed by the three-letter country code as shown below:

  • `country-code: "CAN"`

The `country-code` parameter tells Affirm what country of legal incorporation is associated with the store where the user’s transaction was made, as well as what Affirm regional environment to route this request to. This is also an alpha-3 country code. If this parameter is missing, we will default to `USA`.

Any end-user disclosures or emails that may be associated with this API will be sent in the language associated with the locale sent to `Affirm.js` when the transaction was made. For example, if `‘fr_CA”` was passed to \`Affirm.js when this transaction was made, all emails and user communications associated with the APIs involved in this transaction will be shown in Canadian French.

## Actions

You can integrate various transactions into your back-end order management system, where you normally fulfill orders and process payments, refunds, and cancelations.

You can use the [Transactions API](🔗) to manage transactions with the following actions:

  • [Read Transaction](🔗)

  • [Capture Transaction](🔗)

  • [Void Transaction](🔗)

  • [Refund Transaction](🔗)

  • [Update Transaction](🔗)

These [actions](🔗) allow you to manage transactions across various [states](🔗) including authorized, captured, voided, etc.