---
updatedAt: 2025-11-13T14:19:43.000Z
agentTools:
  siteIndex: https://docs.affirm.com/llms.txt
  projectIndex: https://docs.affirm.com/payments/llms.txt
---

# Direct API In-Store Without Webhooks

Affirm’s In-Store Integration lets merchants offer financing via their POS with manual confirmation and API calls, no webhooks required.

## Overview

Affirm’s In-Store (Direct API) Integration enables merchants to offer flexible payment options directly within their point-of-sale (POS) systems. This variant is designed for merchants who prefer not to maintain a public webhook endpoint, or whose infrastructure (e.g., firewalls, security policies) makes webhook delivery unreliable.

Instead of relying on webhook callbacks, merchants complete the transaction flow using a **manual confirmation process** paired with **on-demand API authorization calls**.

## How It Works

### Integration Flow Chart

<Image align="center" width="350px" src="https://files.readme.io/a2d9a879c7ccac8b388b7ca5077c733f1e5713c177a908cdd38a2cd9f14f6bcd-Direct_API_No_Webhooks_How_It_Works.svg" />

The in-store workflow without webhooks follows these steps:

### 1. Select Affirm at Checkout

The sales associate selects Affirm as the payment method on the POS terminal.

### 2. Create Checkout Object

The POS system calls **Affirm’s Store API** (`/api/v2/checkout/store`) with billing details, order totals, and metadata.

Affirm returns a `checkout_id` and sends the customer a checkout link via SMS (production) or email (sandbox/live fallback).

### 3. Customer Completes Application

The customer opens the link on their device, reviews terms, and confirms or declines the loan application.

### 4. Customer Notifies Associate

Once approved, the customer informs the in-store associate that they have completed their Affirm application.

### 5. Manual Authorization

The associate finalizes the order by instructing the POS to make an **Authorization API call** using the saved `checkout_id`.

### 6. Order Confirmation

If authorization **succeeds**, the merchant saves the customer’s loan ID, and the POS displays a success message.

If authorization **fails**, the associate is shown an error message and can advise the customer accordingly.

### 7. Order Status Update

The POS updates the order status to reflect that the transaction is complete.

## What's Next?

* [Business Hub: In-Store Marketing Resources and Assets](https://businesshub.affirm.com/hc/en-us/articles/7585063635476-In-Store-Marketing-Resources-and-Assets)
* [API Reference](https://docs.affirm.com/developers/reference/introduction)
* [Managing Transactions](https://docs.affirm.com/developers/docs/managing-transactions)

# Sibling pages

* [About In-Store](https://docs.affirm.com/payments/docs/checkout-in-store.md)
* [Set Up In-Store](https://docs.affirm.com/payments/docs/set-up-in-store-direct-api.md)

# Related topics

* [About In-Store (Direct API)](https://docs.affirm.com/payments/docs/checkout-in-store.md)