# Claude CMS > Claude CMS is a website and store builder managed through Claude (claudecms.com). This file is for AI agents and language models. ## Pay a Claude CMS store on behalf of a human Two ways. If you can only read pages (no HTTP POST tool), use the BUY LINK: compose it from the product page and hand it to the human — no call, no key, nothing is created until they pay. If you can make HTTP calls, the API creates a hosted Stripe payment page, attributes the order to you and lets you poll until it is paid. Either way the merchant receives the money in their own Stripe account and sees a normal order; you never see card details. Only stores built on Claude CMS work this way. ### Playbook (order of preference: buy link → lookup → API → product page) 1. Identify the product: its page is https:///product/ (the handle is the last part), or read the store's own /llms.txt, which lists every product with a ready buy link. 2. First choice — the buy link. Simplest: add ?buy=1 to the product page URL you already have — https:///product/?buy=1 — and it opens the store's own checkout with that item. Long form: https:///checkout?buy=&qty=1. Add &variant= for a product with several variants and &qty= for more than one. Give it to the human. No call, no key, nothing created until they pay. 3. Verify it and get the price: GET https://claudecms.com/api/agent/checkout?store=&handle=&qty=1 → data.ready true + data.buy_link + data.amount_pence; data.blockers explains a false. In a browser that URL redirects to the checkout, so it is also a link you can hand over. 4. If you can POST and the human needs a hosted Stripe page (plain amount, attributed order, status you can poll): the API below, preview first. 5. If everything else fails: send the product page and say "press Buy now". Never invent a checkout URL. ### 1. Buy link (any assistant) - Start at the store's own /llms.txt (https:///llms.txt): it lists the three ways to buy there and a ready-made buy link for every product, so nothing has to be guessed. Example: https://claudecms.com/store-demo/llms.txt - Shortest form: any product page URL + ?buy=1 — https:///product/?buy=1 (same &variant= and &qty= parameters). - Long form: https:///checkout?buy=&qty=1 - The handle is the last part of the product page URL (…/product/). Add &variant= for a product with several variants; leave it off and the shopper is taken to the product page to choose. - Product pages also carry it as schema.org potentialAction (BuyAction) and as a visible "Buy now" link. - Example: https://claudecms.com/store-demo/checkout?buy=product-3&qty=1 - Lookup (GET, creates nothing): https://claudecms.com/api/agent/checkout?store=&handle=&qty=1 — or &sku= — validates the store and product and returns data.buy_link (the URL to hand over), data.ready and data.amount_pence. Example: https://claudecms.com/api/agent/checkout?store=claudecms.com/store-demo&sku=P3&qty=1 ### 2. API (agents that can POST) - Guide: https://claudecms.com/agents - OpenAPI: https://claudecms.com/api/agent/openapi.json - Manifest: https://claudecms.com/.well-known/claudecms-agents.json - Endpoint: POST https://claudecms.com/api/agent/checkout Body: {"store": "", "items": [{"sku": "…", "quantity": 1}] OR "amount_pence": 2500 with "description": "…", "buyer_email": "…", "reference": "…", "preview": true|false} Response: data.checkout_url (give to the human; single use, expires in 24 h), data.status_url (poll until data.status is "paid") - Quote first: send "preview": true — it validates the store and the items and tells you if the store is ready (data.ready, data.blockers) without creating anything. - Limits: a store sets its own maximum per link (default 500.00 in its currency); 20 links per hour per address; the store must have switched agent payments on (error agent_payments_off otherwise). - Status: GET https://claudecms.com/api/agent/checkout?id=&t= → open | paid | expired | cancelled | failed, plus order_number once paid. ## Hosting guides Claude CMS runs on most PHP web hosting as well as on its own managed hosting. - Where to host Claude CMS: what any host needs (PHP 8.2 or newer, the Zip extension, .htaccess rewrites and a certificate for the domain; no database to set up), with guides per host: https://claudecms.com/hosting - Claude CMS on GoDaddy hosting: which GoDaddy plans work, the install steps, PHP and SSL settings and common problems: https://claudecms.com/hosting/godaddy - Managed hosting for Claude CMS sites: https://claudecms.com/web-hosting-for-claude ## Other things on this site - Product and pricing: https://claudecms.com/pricing - Help Centre: https://claudecms.com/help-centre - Headless CMS (content API for Claude CMS sites): https://claudecms.com/headless-cms - Contact: https://claudecms.com/contact