---
title: "Create a protected hosted-checkout link; never accepts card/payment data"
method: POST
path: "/checkout-intents"
tags: ["Checkout"]
---

# Create a protected hosted-checkout link; never accepts card/payment data

`POST /checkout-intents`

## Request

- Base URL: `https://tier1.shop/wp-json/tier1-api/v1`
- URL: `https://tier1.shop/wp-json/tier1-api/v1/checkout-intents`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `geo` 'ru' | 'intl', required
  - `items` object[], required
    - `product_id` integer, required
    - `quantity` integer, required
    - `donor_tokens` string[]
  - `links` object[]
    - `type` 'onetime' | 'yearly' | 'through'
    - `url` string, uri
    - `anchor` string
    - `context_text` string
    - `scheduled_at` string, date-time, nullable

## Response `201`

Protected checkout link created; no payment made

- CheckoutIntentCreated
  - `intent_id` string, required
  - `checkout_url` string, uri, required: Secret-bearing URL: show only to the intended customer, never log it.
  - `expires_at` string, date-time, required
  - `summary` object, required
  - `payment_preview` object: Nominal wallet gap only. The hosted checkout recalculates discounts, cashback, FX and payment methods.
    - `currency` string
    - `wallet_available_minor` integer
    - `nominal_wallet_gap_minor` integer
    - `final_amount_at_checkout` boolean

## Other responses

- `4XX`: Safe API error. Unknown and foreign resources have the same generic 404.

---

[API](https://skmtc.dev/tier1/apis/tier1-shop-client-api.md) · [All operations](https://skmtc.dev/tier1/apis/tier1-shop-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tier1/apis/tier1-shop-client-api/revisions/6865b273f97a?raw)
