---
title: "Direct"
method: POST
path: "/checkout/direct"
tags: ["Checkout"]
---

# Direct

`POST /checkout/direct`

Generate a redirect checkout link on the fly.  Manage and share communications with your customers with your own infrastructure.

## Request body

- DirectRequest
  - `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.
    - `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.
    - `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.
  - `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` 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.

## 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)
