Treat the Agentic Commerce Protocol (ACP) as four separate jobs, each with its own gate:
- Admission to ChatGPT shopping. It’s by application, unless you sell through Shopify or Etsy, whose catalogs are already integrated.
- Discovery data. A product feed with nine required fields.
- A checkout API. OpenAI says this needs a separately enabled integration.
- Purchase authorization through a delegated payment token.
Setting a feed flag such as is_eligible_checkout does none of the other three. And on October 27, 2026, OpenAI’s merchant page said purchases are completed on merchants’ own sites. So for most merchants the useful work is the first two jobs, with checkout treated as unconfirmed.
What ACP is, in one paragraph
ACP is an open specification for how buyers, AI agents and businesses transact. Its README says it is maintained by OpenAI and Stripe, “currently in beta”, and versioned by date. The latest release is 2026-04-17, which deprecated 2026-01-30. The repository’s maintainers file now also lists Meta, a change recorded in the unreleased changelog. ChatGPT is the platform OpenAI documents, and Stripe’s Shared Payment Token is named as the first compatible payment method. The protocol itself doesn’t list you anywhere. As the ACP site puts it, each AI platform runs its own process for which businesses take part.
The boundary checklist
Work down this list one boundary at a time. Don’t count a box in one boundary as progress in another.
Boundary 1: Admission
| Check | What the current docs say | Done when |
|---|---|---|
| Do you already have a route in? | OpenAI: Shopify and Etsy catalogs are already integrated; “no additional setup or application is required” | You’ve confirmed your platform and that your store meets its rules |
| If not, have you applied? | Merchants apply to share feeds; applicants go on a waitlist. Feed onboarding is “available to approved partners” | You have an approval, not just a submitted form |
| Are your products allowed? | OpenAI prohibits some categories, such as adult content and age-restricted products, and may remove products or ban sellers | Every product in the feed passes the policy |
| Is your market live? | Shopping is “currently live for ChatGPT users in the U.S.” | You sell to US shoppers, or you accept the gap |
For Shopify stores, admission runs through Shopify Catalog. The store must be on the Starter plan or higher and not in private mode. The exception: on the Agentic plan, products can still be included through agentic storefronts before the online store is published to a paid plan. To sell on ChatGPT, Shopify also requires that the store sells to US customers, though it can be based elsewhere. Our Shopify ChatGPT guide covers that channel.
Boundary 2: Discovery data
| Check | What the current docs say | Done when |
|---|---|---|
| Nine required fields on every row | item_id, title, description, url, brand, seller_name, image_url, availability, price |
A validator finds no missing field |
| Availability is explicit | Empty or unrecognized values reject the row; unknown is allowed and “does not assert that the item is in stock” |
No row relies on a blank |
| Search eligibility is deliberate | is_eligible_search defaults to true; “eligibility does not guarantee display” |
You know which products you’ve turned off and why |
| Delivery is a snapshot | SFTP upload, stable file names, full snapshot at least daily recommended | Your job overwrites the same files on a schedule |
| Removals are planned | A product dropped from the snapshot is kept for up to 14 days; is_eligible_search=false removes it at the next processing |
Recalls and discontinued items have a same-day path |
The feed is where most of your ChatGPT work lives. Our ChatGPT feed guide goes field by field.
Boundary 3: Checkout contract
| Check | What the current docs say | Done when |
|---|---|---|
| Is checkout enabled for your integration? | “Checkout requires a separately enabled integration. Setting an eligibility flag does not complete checkout onboarding” | OpenAI has enabled it, in writing |
| Feed rows opt in | is_eligible_checkout works only when search is also true and checkout is enabled; seller_privacy_policy and seller_tos are conditionally required |
Every opted-in row has both URLs |
| Your API passes certification | Sandbox tests: sessions with and without an address, shipping updates, delegated token, completion returning HTTP 201, signed order_created and order_updated webhooks, errors, idempotency returning HTTP 409 |
You have request and response logs for each |
| Your endpoint is reachable and secure | TLS 1.2 or later on port 443; allowlist OpenAI’s published IP ranges | Security review signed off |
Boundary 4: Purchase authorization
| Check | What the current docs say | Done when |
|---|---|---|
| Who charges the card | The merchant, on its existing processor. OpenAI “is not the merchant of record” | Your processor and risk rules handle agent orders |
| What the token allows | One-time delegated payment with a maximum chargeable amount and an expiry, set from what the user selected | Your capture logic never exceeds the allowance |
| Which provider can issue it | Stripe’s Shared Payment Token is the first compatible implementation; PSPs or PCI DSS level 1 merchants can integrate directly | Your PSP confirms support |
| Who decides to accept | The merchant accepts or declines each order | Decline paths tested |
The conflict you need to plan around
OpenAI’s pages disagreed about checkout on October 27, 2026:
| Page | What it says |
|---|---|
| ChatGPT merchants (FAQ) | OpenAI is “moving away from a standalone Instant Checkout experience”; “purchases are completed on merchant-owned websites or apps” |
| ChatGPT merchants (ACP section) | ACP “today” supports product discovery and recommendations through shared product data; it “will expand” to the full journey over time |
| Help Center: Shopping with ChatGPT Search | “For some eligible products and merchants, ChatGPT may also show an Instant Checkout option” |
| Developer docs | Still document the checkout spec, delegated payment and certification tests; checkout needs a separately enabled integration |
| Shopify Help: ChatGPT channel | A discovery channel; buyers finish in the store’s online checkout; no direct checkout setting |
The narrowest reading these pages share: ChatGPT discovery runs on shared product data, and the purchase normally finishes on your site. Build for that. Treat boundaries 3 and 4 as a project you start only when OpenAI confirms checkout for your integration.
Worked example: one feed row, four boundaries
A labelled hypothetical: Example Humidifier Co. is an approved direct-feed partner, not on Shopify, selling to US shoppers. Here is one product row, with the boundary each field belongs to.
| Field and value | Boundary | Why it doesn’t settle the next boundary |
|---|---|---|
item_id: EH-600-WHT, title, description, url, brand, seller_name, image_url |
2: Discovery | Valid rows can still be left out of results |
availability: in_stock, price: 109.99 USD |
2: Discovery | At checkout the merchant validates the order and calculates tax, so the feed is not the final total |
is_eligible_search: omitted (defaults to true) |
2: Discovery | Search eligibility “does not guarantee display” |
is_eligible_checkout: true |
3: Checkout | Opts in only once OpenAI has enabled checkout for the integration |
seller_tos, seller_privacy_policy: policy URLs |
3: Checkout | Conditionally required for checkout, but checkout still needs a separately enabled integration |
| None | 4: Authorization | We found no feed field that configures payments; that’s your PSP and the delegated payment spec |
Example Humidifier Co. is done with boundary 2 when every row validates. It has not made any progress on boundaries 3 and 4 by setting two flags and two URLs. Those depend on OpenAI enabling checkout, a certified API and a payment provider that supports delegated tokens.
The values above are invented; the rules quoted in the right-hand column are OpenAI’s.
Common misreads
| What people say | What the docs actually support |
|---|---|
| “We implemented ACP, so we’re in ChatGPT” | Implementing the protocol doesn’t list you. ChatGPT participation is by application, or through Shopify or Etsy |
“We set is_eligible_checkout, so checkout is on” |
Checkout needs a separately enabled integration; OpenAI says the flag “does not complete checkout onboarding” |
| “Our products are eligible, so they’ll show” | OpenAI: eligibility “does not guarantee display” |
| “Removing a product from the feed hides it today” | A missing product can be retained for up to 14 days; use is_eligible_search=false for a faster removal at the next processing |
| “ACP is OpenAI’s checkout” | ACP is a protocol with feeds, discovery, cart, checkout and payment pieces. OpenAI’s merchant page says it currently supports discovery and recommendations in ChatGPT |
| “Shopify stores need an ACP app for ChatGPT” | OpenAI and Shopify both say Shopify product data already reaches ChatGPT through Shopify Catalog |
A short plan for most merchants
- Confirm your route in. On Shopify or Etsy, confirm your store is eligible for that platform’s catalog and that ChatGPT access is on. Otherwise, apply.
- Fix the data the route carries. Whichever route you use, complete, factual product data is what reaches ChatGPT. Our product data guide covers what to state.
- Write down what you haven’t confirmed. “Checkout in ChatGPT: not enabled for us; purchases finish on our site.” Date it.
- Re-check monthly. Watch the ACP changelog and OpenAI’s merchant page. Start boundary 3 only when OpenAI confirms checkout for you.
Our UCP vs ACP comparison sets this protocol beside Google’s route, and our ChatGPT ranking guide covers what OpenAI says about how products are chosen.
How we checked
On October 27, 2026 we read the ACP README, maintainers file, 2026-04-17 changelog, unreleased changelog folder and website FAQ; OpenAI’s merchant page (rendered in a browser), help article, and the commerce Get Started, key concepts, production, file upload overview and product reference pages (Markdown versions); and Shopify’s ChatGPT channel and Catalog requirements help pages. We did not apply to OpenAI’s program, upload a feed or call any checkout endpoint.