> For the complete Lynkow documentation index in agent-friendly format, see [llms.txt](/llms.txt).

# Place an offline order

**Publié le** : 2026-08-19
**Catégorie** : Commerce

## `POST /checkout`

**Place an offline order**

Completes the caller's active cart into one order with immutable line snapshots. Guests identify
their cart with `X-Lynkow-Cart-Token` and must provide an email; signed-in
buyers use their customer session and the account email. Contact, address,
and an offline payment method are optional. All ids, statuses, order number,
currency, totals, prices, and line snapshots are server-derived. Placement
locks and rechecks the cart, creates the order and its items, and marks the
cart completed in one transaction, so concurrent submits produce at most one
order. A guest placement also creates or reuses the site's customer record
for the order email in that same transaction, governed by a per-site
kill-switch; the response shape is unchanged and no email is sent. Returns
only the closed buyer confirmation whitelist.

> **Note:** This endpoint requires the e-commerce feature to be enabled on your site.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `X-Lynkow-Cart-Token` | header | string | No | Guest cart secret returned when the cart was created. Omit for an authenticated customer checkout. |


### Request Body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `email` | string | No | Guest receipt email. Optional for an authenticated customer. |
| `contact` | object | No | Optional buyer contact snapshot for this order. |
| `address` | object | No | Optional delivery or collection address snapshot. |
| `paymentMethod` | "on_site" \| "cash_on_delivery" \| "click_and_collect" | No | Offline payment method selected by the buyer. One of: on_site, cash_on_delivery, click_and_collect. |
| `recaptchaToken` | string | No | Verification token when the site uses reCAPTCHA spam protection. For v3 checkout, mint it with the `checkout` action. |
| `_hp` | string | No | Spam-trap field that must remain empty when the site uses honeypot protection. |
| `_ts` | integer | No | Form-load Unix timestamp in milliseconds when the site uses honeypot protection. |


### Responses

| Status | Description |
| --- | --- |
| `201` | Successful response |
| `401` | Missing or invalid storefront publishable key |
| `402` | The site subscription does not currently permit this operation |
| `403` | The storefront key origin is not allowed, or a customer account is required by this storefront |
| `404` | Site, resource, or commerce feature not found |
| `409` | The cart has already been completed |
| `422` | Validation error |


---