Affirm-developers

In-Store

Merchants stores can integrate their point of sale systems to support Affirm payment.

How it works

This diagram shows how your customers, your point of sale, your server (e.g OMS) and Affirm interact:

1. In-store checkout

In-store reps will select Affirm as a payment option from your point of sale system. This action will trigger a request to Affirm to send a checkout link (via email/text) to the customers directly.

POST /api/v2/checkout/store HTTP/1.1
Host: sandbox.affirm.com
Content-Type: application/json

{
      "merchant": {
        "public_api_key":               "{PUBLIC_API_KEY",
        "user_cancel_url":              "https://www.google.com",
        "user_confirmation_url":        "https://www.affirm.com",
        "user_confirmation_url_action": "GET",
        "name":                         "In-store Affirm demo"
      },
      "billing":{
        "name":{
          "full":                        "John Doe"
        },
        "address":{
          "line1":                       "325 Pacific Ave",
          "city":                        "San Francisco",
          "state":                       "CA",
          "zipcode":                     "94112",
          "country":                     "USA"
        },
        "phone_number":                  "4155552222",
        "email":                         "[email protected]"
      },
  "metadata": {
    "entity_name": "Vignan 1234"
  },
      "order_id":                        "00de5cee-7226-4aec-b729-a571f773a58c",
      "total":                           5000         
  }

🚧

The Store API will send SMS text messages only in the Affirm Live environment. During Sandbox environment testing, please rely on email messages to receive the checkout URL or the URL in the response back.

2. Webhook confirm event

Once a user receives and confirms their loan, Affirm's server will be notified of that event. A checkout_id will be POSTed back to your server at the webhook URL you provided

❗️

A webhook URL will need to be configured on your merchant integration. Please reach out to us via the support widget.

3. Create order

On confirmation, Affirm's server will POST back to your server a checkout event containing the checkout_token. This checkout_token must be authorized securely before saving the order or updating the order's status on the in-store terminal.

4. In-store confirmation

The in-store terminal must be able to receive the order confirmation and reflect paid status in near-real-time.

5. Manage order

You can initiate different charge actions depending on your internal processes.

Updated 5 months ago


What's Next

Charges
Webhooks

In-Store


Merchants stores can integrate their point of sale systems to support Affirm payment.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.