MobiariDocs

Confirm a paid checkout

POST
/storefront-api/{store_slug}/api/checkout

Turns the cart into an order (if it is not one already) and answers with it once a payment for it is approved. Payment happens through POST .../api/payments/intents, which also creates the order; this call is how the theme confirms the outcome.

Path Parameters

store_slug*string

Store slug

Header Parameters

x-cart-id?|

The shopper's cart; the cart_id cookie or body field works too

Formatuuid
Idempotency-Key?string

A unique value (e.g. a UUID) per logical request. Retrying with the same key within 24 hours replays the first response instead of repeating the side effect; the replay carries Idempotent-Replayed: true. Reusing a key for a different request is a 422 idempotency_key_reused; retrying while the first is still running is a 409 idempotency_request_in_progress. JSON bodies up to 1 MB.

Lengthlength <= 255

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/storefront-api/string/api/checkout" \  -H "Content-Type: application/json" \  -d '{}'
{
  "cart_id": "b5b98de2-0f5f-4a68-b8c7-2aa7bb7683bb",
  "order_id": "93101167-9065-4b9c-b98b-5d789a3ed9fe"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}
{
  "code": "not_found",
  "details": {},
  "error": "Order not found"
}