---
updatedAt: 2026-08-06T15:50:54.000Z
agentTools:
  siteIndex: https://docs.affirm.com/llms.txt
  projectIndex: https://docs.affirm.com/developers/llms.txt
---

# About Express Checkout

Affirm Express Checkout is an Affirm-hosted checkout solution that streamlines the purchase flow by collecting shipping and total order details directly within Affirm.

<HTMLBlock>{`
<style>
  .dropdown-menu {
    font-family: Arial, sans-serif;
    max-width: 250px;
    margin-left: auto; /* Align to the right */
  	margin-right: 0; /* Ensure it's flush to the right */
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 10px;
    background: #4A4AF4;
    overflow: hidden; /* Ensure the container grows with content */
  }

  .dropdown-item {
    margin-bottom: 10px;
  }

  .dropdown-toggle {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
  }

  .dropdown-toggle:hover {
    background: #f0f0f0;
  }

  .dropdown-content {
    display: none;
    margin-top: 5px;
    padding: 10px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
  }

  .dropdown-item.open .dropdown-content {
    display: block;
  }

  .flag-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
  }

  .product-item {
    margin-bottom: 5px;
  }

  .product-icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
  }
  
  .country-title {
    font-family: Arial, sans-serif;
    font-size:20px;
    text-align: center;
    font-weight: bold;
    color: #ffffff;
  } 

</style>
  <div class="dropdown-menu">
    <p class="country-title" alt="Countries where this product is available">Country Availability</p>

    <div class="dropdown-item">
      <button class="dropdown-toggle" onclick="toggleDropdown(event)" alt="Drop down menu displaying the available countries for this product">
        <b>Country List</b> ⬇️
      </button>
      <div class="dropdown-content">
        <div class="product-item">
          <img src="https://files.readme.io/a4c8b3d6596d943e2b93c82cb1d432a2edaf6998667835c2e97ef4a31d460c7e-us-circle-01.png" alt="USA" class="flag-icon">
          USA
        </div>
      </div>
    </div>

  </div>
`}</HTMLBlock>

<Callout icon="❗️" theme="error">
  **Interested in offering Affirm Express Checkout?**

  Reach out to your Affirm Account Manager to confirm availability and for next steps on building your APIs.
</Callout>

## Overview

Affirm Express Checkout is an Affirm-hosted checkout experience that manages the entire purchasing journey, from initiation to completion, while saving shoppers time by pre-populating personal details. It enables shoppers to initiate checkout directly from a product page, cart, or other entry point without requiring the final order total or shipping address upfront. Affirm collects the shipping address, presents shipping options, calculates totals, and returns the finalized checkout details to the merchant for post-loan confirmation.

### Regional availability

Affirm Express Checkout is currently only available for merchants and customers located within the **United States**.

* **Supported Currency**: All transactions must be processed in USD.
* **Supported Regions**: The customer's shipping address must be a valid US address.
* **Shipping Restrictions**: If your business does not ship to specific US regions (e.g., Hawaii or Alaska), you must handle this using the `UNSUPPORTED_SHIPPING_ZONE` error code in your Shipping & Totals HTTP Endpoint.

## The customer experience

With Express Checkout, the shopper begins their purchase by clicking an Affirm Express Checkout button on a product page, cart page, checkout page, or other supported surface. From there, the checkout experience is fully hosted by Affirm.

1. **One-tap start:** Shoppers select Affirm Express Checkout directly from the product or cart page to begin checkout instantly.
2. **Auto-fill details:** Affirm securely collects and auto-fills shipping information, allowing customers to review and select available shipping options.
3. **Choose a plan:** Customers view their total purchase amount and choose a preferred payment plan with transparent monthly or bi-weekly options.
4. **Slide to confirm:** Customers confirm their purchase by sliding to finalize the loan and checkout within the Affirm experience.
5. **Order complete:** Customers are returned to the merchant’s site with a confirmation screen showing order details, shipping information, and payment summary.

<Image src="https://files.readme.io/cec6cd88c1de4eee88987a096cb60784acd9536447984a23dcb168ca073f0723-Screenshot_2026-01-30_at_9.00.24_AM.png" alt="The express checkout UX flow on mobile" align="center" />

## The merchant experience

Express Checkout is an extension of Affirm’s Direct API integration and requires an existing Direct API implementation. It simplifies the traditional checkout flow by shifting key steps into Affirm’s hosted experience.

1. **Generate a Cart with a unique ID**: Create a unique identifier to track the checkout session.
2. **Configure Affirm Express Checkout**: Configure and launch affirm.checkout with checkout\_variant: "express", including items and subtotal (omit shipping and total).
3. **Set-up Shipping & Totals endpoint**: Provide a server-side endpoint that accepts order\_id, currency, and shipping address, and returns the shipping options that should be offered along with their associated amounts.
4. **Calculate Order Total**: Retrieve the completed checkout details from Affirm and calculate the final order total in your backend for validation.
5. (***Optional***) **Add the Affirm Checkout button:** Place the Affirm Express Checkout button on your product, cart, or other supported pages to enable shoppers to launch the Express Checkout flow.

The diagram below illustrates the Affirm Express Checkout flow, highlighting key expectations:

<Image src="https://files.readme.io/46be7234bf4fcd0adaa4b225d3f75c09a93c1246bfd727b45f3e6543ead5df2b-Express_Checkout.svg" alt="The backend flow of express checkout" align="center" width="600px" />

## Recommended topics

* <Anchor target="_blank" href="https://docs.affirm.com/developers/docs/set-up-express-checkout">Set up Express Checkout</Anchor>
* <Anchor target="_blank" href="https://docs.affirm.com/developers/docs/express-checkout-api">Express Checkout APIs</Anchor>
* <Anchor target="_blank" href="https://docs.affirm.com/developers/docs/affirm-checkout-overview">Checkout overview</Anchor>

# Sibling pages

* [Checkout Overview](https://docs.affirm.com/developers/docs/affirm-checkout-overview.md)
* [Set up Express Checkout](https://docs.affirm.com/developers/docs/set-up-express-checkout.md)
* [Checkout Button](https://docs.affirm.com/developers/docs/pre-styled-checkout-button.md)
* [Open Affirm Checkout](https://docs.affirm.com/developers/docs/open-affirm-checkout.md)
* [Open Affirm Virtual Card Checkout](https://docs.affirm.com/developers/docs/open-affirm-virtual-card-checkout.md)
* [Modal vs. Redirect Checkout](https://docs.affirm.com/developers/docs/modal-vs-redirect-checkout.md)
* [Modal with Direct Checkout](https://docs.affirm.com/developers/docs/modal-with-direct-checkout.md)
* [Additional Features](https://docs.affirm.com/developers/docs/additional-features.md)