---
updatedAt: 2025-11-13T14:12:32.000Z
agentTools:
  siteIndex: https://docs.affirm.com/llms.txt
  projectIndex: https://docs.affirm.com/platforms/llms.txt
---

# Processing transactions in Shopify

Learn about processing Affirm transactions in Shopify.

<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 class="product-item">
          <img src="https://files.readme.io/3ca294a1b4b8b8506c3ff32876abc6e3e33d0e65a509dab81398915094bdbc5c-61TcZ33ZrJL._AC_UY1000_.jpg" alt="Canada" class="flag-icon">
          Canada
        </div>
      </div>
    </div>

  </div>
`}</HTMLBlock>

<br />

> 🚧 Order management
>
> Processing orders (authorize, void, refund, and partial refund) in Shopify updates the order status in the Merchant Portal. While you can process orders in the portal, we strongly recommend using Shopify to keep your order statuses synced with Affirm. For more information on processing orders in Shopify, refer to their documentation.

## Overview

When a customer completes a checkout with Affirm as the payment method, we authorize a charge for the amount of the order. The charge enters a pending state on the customer's Affirm account. Authorized charges expire if you do not capture them before the capture deadline, which is a period **specified in your partnership agreement with Affirm**. If you did not define your authorization timing requirements because of inventory, pre-orders, or shipping time in your onboarding form, please contact Affirm.

After Affirm authorizes a charge, you can perform the following actions on it in Shopify:

* [Capture](#capture)
* [Void](#void)
* [Refund](#refund)
* [Partial Refund](#partial-refund)

***

## Capture

Capturing a charge does the following:

* Charges the authorized amount to the customer's Affirm account.
* Begins the customer's billing cycle.
* Triggers the transfer process of funds from Affirm to the merchant.

Merchants typically capture a charge after fulfilling the order. We recommend auto-capturing if you usually fulfill orders within 5 business days so that the customer receives their purchase before their first bill.

You can configure Shopify to auto-capture orders by setting Payment Authorization to Automatically capture payment for orders.

When a customer completes checkout with Affirm as the payment method, a new order appears in your Shopify order list. This charge appears in the customer's Affirm account with a *Payment Status* of *Pending*.

To capture the charge:

1\.  On the main page, click **Orders**.\
2\.  Click on the order number.

<Image title="shopify_orders.png" alt={3170} align="center" width="smart" src="https://files.readme.io/241da80-shopify_orders.png" />

3\.  Click **Capture Payment**.

<Image title="shopify_capture_payment.png" alt={1738} align="center" width="smart" src="https://files.readme.io/141b7b3-shopify_capture_payment.png" />

4\.  Click **Accept**.

<Image title="accept_payment.png" alt={1120} align="center" width="smart" src="https://files.readme.io/f7c9456-accept_payment.png" />

### Auto-Capture

If your Shopify payment settings for Payment Authorization is set to *Automatically capture payment for orders*, Affirm will capture the transaction the moment it is authorized. Shopify will capture the order and order will be marked as *Paid* in the Shopify dashboard.

***

## Void

If you have not yet captured a charge, you can cancel its authorization by voiding it. Voiding a charge is irreversible and Affirm is unable to reinstate those funds.

[Visit Shopify for information on voiding charges](https://help.shopify.com/manual/orders/refund-cancel-order).

***

## Refund

If you have already captured a charge, you can reverse it and refund the amount to the customer's Affirm account. You can only process a refund within 120 days of capturing the charge. Refunding a charge is irreversible.

[Visit Shopify for information on refunding charges](https://help.shopify.com/manual/orders/refund-cancel-order).

***

## Partial refund

If you have already captured a charge, you can reverse part of the charge and refund the specified amount to the customer's Affirm account. You can only process a partial refund within 120 days of capturing the charge. Partially refunding a charge is irreversible.

[Visit Shopify for information on refunding charges](https://help.shopify.com/manual/orders/refund-cancel-order).

# Sibling pages

* [Connecting the Affirm Payments App](https://docs.affirm.com/platforms/docs/connecting-the-affirm-payments-app.md)
* [Using the Promotional Messaging App for Shopify](https://docs.affirm.com/platforms/docs/using-the-promotional-messaging-app.md)
* [Set a Price Floor for Checkout (Shopify Plus only)](https://docs.affirm.com/platforms/docs/set-a-price-floor-for-checkout-shopify-plus-only.md)
* [Manage Affirm payment customizations for Shopify stores](https://docs.affirm.com/platforms/docs/manage-affirm-payment-customizations-for-shopify-stores.md)
* [ALA Messaging with Theme App Blocks](https://docs.affirm.com/platforms/docs/ala-messaging-with-theme-app-blocks.md)
* [Shopify FAQs](https://docs.affirm.com/platforms/docs/shopify-faq.md)
* [Uninstall the Affirm Payment Method](https://docs.affirm.com/platforms/docs/uninstall-the-existing-affirm-payment-method.md)