To sell inside ChatGPT’s Instant Checkout, a merchant implements the Agentic Commerce Protocol (ACP) β an open spec, currently in beta, that defines how an agent finds a product, builds a cart, and pays without the shopper leaving the chat. It isn’t one integration; it’s four separate pieces, at different levels of maturity. Here’s what’s actually required today, straight from the spec repository, and what’s still a proposal you shouldn’t build against yet.
Who’s behind it
ACP is maintained on GitHub at
agentic-commerce-protocol/agentic-commerce-protocol,
under an Apache 2.0 license. The repo’s maintainer list names three lead
maintainers: OpenAI, Stripe, and, as of the version we read,
Meta
β a merchant deciding whether to invest engineering time is no longer betting
on a single company’s roadmap. The spec uses date-based versioning: each
release is a full snapshot (2025-09-29, 2025-12-12, 2026-01-16,
2026-01-30, 2026-04-17), and unreleased work develops in the open before
being promoted into the next dated snapshot.
The two pieces you must implement
1. Checkout Sessions β the core. A REST API your server exposes:
POST /checkout_sessions (create), POST /checkout_sessions/{id} (update),
GET /checkout_sessions/{id} (retrieve), POST /checkout_sessions/{id}/complete,
and POST /checkout_sessions/{id}/cancel. Your store stays the system of
record for orders, tax and payment settlement β ChatGPT calls your endpoints
and renders whatever authoritative cart state you return
(RFC: Agentic Checkout).
Every POST needs an Idempotency-Key; every request carries an API-Version
header the server validates.
2. Delegate Payment β the one MUST-implement endpoint outside checkout.
POST /agentic_commerce/delegate_payment tokenizes a payment credential into
a single-use vault token, scoped by an Allowance (max amount, currency,
expiry). Your existing PSP still authorizes and settles the charge β ACP never
transfers raw card data to the agent
(RFC: Delegate Payment).
If you’d rather not route payment through a shared token at all, a second RFC
defines seller-backed handlers β saved cards, gift cards, points, store
credit β resolved entirely on your own backend with no PCI scope for the
agent side
(RFC: Seller-Backed Payment Handler).
Both of the above shipped in the 2026-04-17 release, the latest dated
snapshot as of this writing, alongside a Feed API (POST /feeds,
PATCH /feeds/{id}/products) merchants use to push catalog data to an
agent-hosted feed rather than waiting to be scraped
(Feed API spec).
What’s still a proposal, not a requirement
Two RFCs in the same repo carry Status: Proposal and Version: unreleased β
don’t treat these as launch blockers yet:
- Discovery β a
/.well-known/acp.jsondocument so an agent can check whether a domain supports ACP before it ever calls checkout (RFC: Discovery). - Product Feeds (full RFC) β a richer catalog surface for cross-merchant comparison, beyond the Feed API endpoints already released (RFC: Product Feeds).
Both are worth reading now and revisiting before their next dated release β neither is something a merchant needs live today.
FAQ
Do I need Stripe to sell on ChatGPT?
No. Stripe co-maintains the spec and is a reference payment service provider, but Delegate Payment is PSP-agnostic β the vault token flows to whichever processor you already use. If you’d rather not tokenize through a shared vault at all, the seller-backed handler pattern lets you resolve saved cards, gift cards or store credit entirely on your own backend.
What is a “checkout session” in ACP?
It’s the object both sides share for one purchase attempt: created with line items, updated as the buyer changes address or fulfillment, then completed with a payment method, which is the point your server creates the order. Your server remains authoritative β ChatGPT only renders the state your API returns.
Is ACP stable enough to build against?
The checkout, delegate-payment, delegate-authentication and feed endpoints
are past proposal stage and shipped in the 2026-04-17 dated release; the
overall protocol still carries a “Beta” status badge in its own README. Pin
your integration to a dated API-Version and watch the changelog for the
next snapshot rather than tracking unreleased/ directly.
Sources
- ACP repository README
- MAINTAINERS.md
- RFC: Agentic Checkout β Merchant REST API
- RFC: Delegate Payment API
- RFC: Seller-Backed Payment Handler
- RFC: Discovery (Proposal, unreleased)
- RFC: Product Feeds (Proposal, unreleased)
- Changelog β Version 2026-04-17
- Feed API OpenAPI spec
ACP is the rail Google’s UCP doesn’t interoperate with β implementing it correctly gets you conformant, but whether an agent can actually carry a real cart through your specific catalog to a completed order is the separate, harder question AgentReady’s transaction checks are built to answer.