SHOPSTACK

The checkout request

Use this body for the CLI file, API request, or MCP create_checkout arguments.

checkout.json
{
  "item_url": "https://merchant.example/product",
  "instructions": "Buy one in blue",
  "customer": {
    "email": "buyer@example.com",
    "name": "Example Buyer",
    "phone": "+12125550100",
    "shipping_address": {
      "line1": "1 Example Street",
      "line2": "Apartment 2",
      "suburb": "Manhattan",
      "city": "New York",
      "region": "NY",
      "postal_code": "10001",
      "country": "US"
    }
  },
  "maximum_amount": "75.00",
  "currency": "USD"
}

Request fields

item_urlRequired · string
Product URL. Up to 2,048 characters.
customerRequired · object
Name and shipping address. See the fields below.
maximum_amountRequired · string
Spending limit with two decimal places, such as "75.00".
currencyRequired · string
Three uppercase letters, such as "USD".
instructionsOptional · string
Quantity, size, colour, and other purchase details. Up to 4,000 characters.
payment_providerOptional · string
Only "link". Omit for protected card entry later.
external_referenceOptional · string
Your own reference. Up to 255 characters.
proxyOptional · object
country: two uppercase letters. locale: explicit locale such as "en-US"; not inferred from country.

Customer & address

customer.name and customer.shipping_address are required. The address requires line1, city, postal_code, and a two-letter uppercase country.

line2, suburb, region, customer phone, and email are optional. If email is blank or omitted, Shopstack uses a temporary inbox for that checkout.

API-only selector

The API also accepts "model_handle": "qwen". Omit it to use the same default. MCP does not expose this field.