Delivery checkouts

Lock the selected delivery

Requires checkouts:write, the current quote and revision, a saved selection, and complete recipient and sender details. Fixes the delivery and shipping amount for this payment attempt. Your backend handles final accounting and payment. Locks do not release automatically.

post/api/external/v1/checkouts/{token}/lock

Request

  • Base URL: http://localhost
  • URL: http://localhost/api/external/v1/checkouts/{token}/lock
  • Auth: HTTP bearer

Headers

Idempotency-Keystring required

Request body

expected_revisioninteger required

Revision from the latest checkout response. A stale revision returns 409; read current state before retrying. Must be at least 1. Must not be greater than 2147483647.

quote_idstring required

ID of the current, unexpired quote. Must start with one of <code>quote_</code> Must not be greater than 64 characters.

payment_attempt_referencestring required

Your payment or order-attempt reference. Save it and reuse it only for this same attempt. Must be at least 1 character. Must not be greater than 191 characters.

Example request

{
  "expected_revision": 4,
  "quote_id": "quote_example",
  "payment_attempt_reference": "payment-attempt-1042-1"
}

Response

Example response

{
  "data": {
    "checkout_token": "chk_AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPp",
    "status": "locked",
    "revision": 3,
    "currency": "SEK",
    "locale": "en",
    "ready": false,
    "expires_at": "2026-09-14T12:00:00+00:00",
    "quote": {
      "id": "quote_example",
      "expires_at": "2026-09-13T12:15:00+00:00",
      "options": [
        {
          "id": "option_example",
          "name": "Configured pickup",
          "description": null,
          "amount_minor": 4900,
          "currency": "SEK",
          "delivery_type": "pickup_point",
          "preview": false,
          "carrier": {
            "name": "Configured carrier",
            "logo_url": null
          },
          "estimated_delivery": null,
          "badges": [
            "recommended"
          ],
          "pickup_locations": [],
          "service_points": [
            {
              "id": "sp_example",
              "name": "Selected second point",
              "address": {
                "address1": "Example Street 2",
                "address2": null,
                "postal_code": "11151",
                "city": "Stockholm",
                "country": "SE"
              },
              "latitude": null,
              "longitude": null,
              "distance_meters": null,
              "opening_hours": null
            }
          ]
        }
      ]
    },
    "selection": {
      "quote_id": "quote_example",
      "option_id": "option_example",
      "service_point_id": "sp_example",
      "pickup_location_id": null
    },
    "lock": {
      "id": "lock_example",
      "expires_at": "2026-10-13T12:05:00+00:00",
      "shipping_amount_minor": 4900,
      "currency": "SEK"
    },
    "order": null
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.