---
title: "Store"
method: POST
path: "/checkout/store"
tags: ["Checkout"]
---

# Store

`POST /checkout/store`

Initiate an Affirm checkout directly with your customers.

## Request body

- StoreRequest
  - `merchant` object, required — A list of items specific to the merchant.
    - `public_api_key` string, required — The merchant's public api key.
    - `user_cancel_url` string, required — On customer cancellation redirect them to this merchant URL.
    - `user_confirmation_url` string, required — On customer confirmation redirect them to this merchant URL.
    - `user_confirmation_url_action` string — Supported values -'GET' -'POST'
    - `name` string — If you have multiple sites operating under a single Affirm account, you can override the external company/brand name that the customer sees. This affects all references to your company name in the Affirm UI.
    - `use_vcn` boolean — A flag to enable virtual card integration (default is 'false').
  - `billing` object — The customer billing information.
    - `name` object, nullable
      - `first` string — The first name of the customer.
      - `full` string — The full name of the customer, which must contain at least two words.
      - `last` string — The last name of the customer.
    - `phone_number` string, nullable — The phone number of the customer. It must be a valid U.S. phone number represented as a 10-digit string without any delimiters.
    - `email` string, nullable — The email address of the customer.
    - `address` object
      - `city` string — The name of the city.
      - `country` string — The abbreviated name of the country.
      - `line1` string — A U.S. street address.
      - `line2` string — The apartment number, floor or suite that complements the street address.
      - `state` string — The 2-letter postal abbreviation or full name of the U.S. state.
      - `zipcode` string — The 5-digit postal code of the address.
  - `total` integer — The total amount in cents of the purchase.
  - `order_id` string — The merchant id for this order.
  - `tax_amount` integer — The shipping tax amount.
  - `shipping_amount` integer — The amount to ship the item.
  - `shipping` object — The shipping information. Required for scenarios where goods are shipped.
    - `name` object
      - `full` string — The customer's name.
      - `first` string — The customer's first name.
      - `last` string — The customer's last name.
    - `address` object
      - `city` string — The name of the city.
      - `country` string — The abbreviated name of the country.
      - `line1` string — A U.S. street address.
      - `line2` string — The apartment number, floor or suite that complements the street address.
      - `state` string — The 2-letter postal abbreviation or full name of the U.S. state.
      - `zipcode` string — The 5-digit postal code of the address.
    - `email` string, nullable — The email address of the customer.
    - `phone_number` string, nullable — The phone number of the customer. It must be a valid U.S. phone number represented as a 10-digit string without any delimiters.
  - `items` object — An array of items based on the cart contents.
  - `discounts` object — An array of discount codes based on the merchant.
  - `financing_program` string — The applicable Affirm financing program.
  - `checkout_expiration` string — A date-timestamp of when the `checkout_id` will expire.

## Response `200`

HTTP 200 OK

## Other responses

- `400` — HTTP 400 Bad Request
- `401` — HTTP 401 Unauthorized
- `404` — HTTP 404 Not Found

---

[API](https://skmtc.net/affirm/apis/merchant-transaction-api.md) · [All operations](https://skmtc.net/affirm/apis/merchant-transaction-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/affirm/merchant-transaction-api/versions/f2f4252c946f/schema)
