Blog/Web engineering

Agentic commerce for shop developers: UCP, ACP and AP2 compared

Agentic commerce protocols compared: what UCP covers, how AP2 proves a payment was authorized, where ACP fits, and what a shop should build now.

··9 min read

  • Agentic commerce
  • UCP
  • AP2
  • ACP
  • B2B e-commerce
Four steps of an agent purchase, catalog, cart, checkout and payment, with a bracket marking the first three as UCP capabilities and payment as AP2.

Key takeaways

  • Agentic commerce needs a machine interface for a purchase, and as of September 2026 three protocols matter: UCP, ACP and AP2.
  • UCP covers the whole lifecycle with catalog, cart, identity linking, checkout and order capabilities, and the business stays the merchant of record.
  • AP2 answers the accountability question with mandates carried as signed credentials, in an open stage for the user's constraints and a closed stage for the authorization.
  • ACP is the assistant-native order path: Stripe and OpenAI's open standard, where a Shared Payment Token lets an assistant pay without exposing card credentials.
  • For a mid-size shop, make the catalog machine-readable, keep your own checkout, and expose read tools over MCP before joining anything.

Agentic commerce is the attempt to let a language model buy things on a user's behalf, and it needs a machine interface for a purchase: a protocol, not a web page. Three of them matter as of September 2026. The Universal Commerce Protocol (UCP) covers the whole commerce lifecycle, the Agentic Commerce Protocol (ACP) covers orders and payment inside an assistant, and the Agent Payments Protocol (AP2) covers proving that a human actually authorized what the agent did.

This article compares them mechanism by mechanism, and ends with what a mid-size EU shop should actually build now. The short version: all three keep the merchant as the merchant of record, and none of them asks you to rebuild your checkout.

Why shopping agents need protocols at all

A browser agent driving your checkout page is a bad idea for everyone involved. It mis-clicks, it cannot see a hidden fee, it guesses at a shipping field, and the audit trail is a video of a cursor moving. Payment is worse: an agent that types card numbers is an agent that handles card numbers.

A protocol replaces the clicking with signed, structured messages. The agent asks a merchant's system for a product, builds a cart, starts a checkout session and gets back something it can show a human, and the merchant still runs pricing, tax, fulfilment and refunds from its own system. Stripe's framing of the problem is the sharpest version: traditional e-commerce assumed a human clicking "buy" on a site the business controlled, and "in AI-led commerce, agents act for the buyer, carrying their identity, payment method and purchase context into the transaction".

The consequence for developers is the part that matters commercially: an agent-facing interface is a second front end. You already have two (your shop and your checkout); a third one is not a rewrite, but it is real work, and it is where most teams should start.

What UCP actually covers

The Universal Commerce Protocol is the broadest of the three. It describes five core capabilities: catalog search and lookup, cart building, identity linking, checkout and order management, with a lodging draft in progress and food announced. It runs over REST and JSON-RPC, and AP2, A2A and MCP are supported alongside it, which means the same merchant can serve an assistant, an agent-to-agent flow and an MCP client.

Two design decisions in UCP are worth copying regardless of whether you adopt it. The first is that the business stays the merchant of record: the docs are explicit that the business retains control, its own business logic and the customer relationship. The second is identity linking over OAuth 2.0, so an agent holds an authorized, scoped relationship with the merchant instead of a copy of the customer's credentials. The sample authorization-server document advertises a scope like dev.ucp.shopping.checkout through a standard /.well-known/oauth-authorization-server document, which is an ordinary OAuth integration you can reason about.

Who owns which step of an agent purchaseFour steps run left to right: catalog, cart, checkout and payment. A bracket around the first three labels them as UCP capabilities, and a separate bracket around payment labels it AP2. Identity linking over OAuth 2.0 spans the cart and checkout steps, and the shop remains the merchant of record for all of them.UCPAP2catalogcartcheckoutpaymentAGENTIC COMMERCEagent talks to systems, not to pagesidentity linking over OAuth 2.0 spans cart and checkoutthe shop stays the merchant of record: its pricing, tax, fulfilment and refunds still run in its own system
UCP owns the commerce lifecycle, AP2 owns the proof of payment. Neither one moves your existing checkout logic.

How a UCP purchase flows through the system

The sample payloads on the UCP site are the fastest way to understand the design, because they show the fields a merchant has to be able to answer. A catalog response carries products with variants, SKU, options, price ranges in minor units, categories from three taxonomies at once (a platform taxonomy, a merchant's own and a Google product category), media with alt text, ratings, arbitrary metadata and a cursor for pagination. That is a product feed an agent can reason about without scraping a page.

A cart is more than a list of lines. The sample cart carries a context with the buyer's country, region, postal code, intent, language and currency; an attribution block with source, medium, campaign, click ID and referrer; a buyer; totals; messages for things the agent should say out loud; links to the privacy policy, terms and FAQ; machine-readable policies such as a return policy with JSON pointers saying which line items it applies to; a continue_url to hand the shopper back to your site; and an expires_at. Two of those fields matter more than they look: attribution is how you keep the marketing credit, and the policy block is how an agent learns your return terms instead of guessing them.

Checkout is a session object with a status such as ready_for_complete, line items, totals, payment and fulfillment groups with selectable shipping options. The order object then carries a checkout_id, a permalink_url, fulfillment expectations, events such as delivered with a tracking number, and adjustments for refunds. In other words the order is a living record, not a confirmation email, which is what an agent needs when the shopper asks about delivery three weeks later.

Google's under-the-hood write-up from January 2026 reported more than 20 endorsing companies including Shopify, Walmart, Target, Stripe, Visa and Mastercard, across retail, travel and food. The endorsement list is the signal worth watching: a protocol only matters once payment networks and platforms are in it, because those are the parts a merchant cannot replace.

What AP2 adds: proving the human said yes

AP2 exists because of one hard question: when an autonomous agent pays, how does anyone prove the user authorized that specific purchase? The documentation names three gaps that today's payment systems cannot close, and they are the right three: authorization (did the user give this agent authority for this purchase), authenticity (does the request reflect real intent rather than an agent error or hallucination) and accountability (who is answerable if it was wrong).

The mechanism is a mandate, carried as a verifiable digital credential: a tamper-evident, cryptographically signed object. There are two mandates, each with an open and a closed stage. The checkout mandate open stage captures the user's constraints and goals before a cart is final, and the closed stage is the authorization for a specific finalized checkout. The payment mandate open stage captures constraints on payment, such as a budget and allowed instruments, and the closed stage authorizes a specific amount bound to that checkout.

The two AP2 mandates and their two stagesA two by two matrix. The rows are the checkout mandate and the payment mandate. The columns are the open stage, which records the user's constraints and goals before a cart is final, and the closed stage, which records authorization for a finalized checkout and for a specific amount. Each mandate moves from open to closed before the money moves.AP2 MANDATESOPENCLOSEDCheckoutmandateconstraints and goals,before the cart is finalauthorization for afinalized checkoutPaymentmandatebudget and allowedpayment instrumentsauthorization for oneamount, cart boundboth are signed credentials, chained into a non-repudiable audit trail
AP2 records intent twice: the constraints the user gave, then the authorization for the exact cart and amount.

Two details from the documentation matter for implementation. AP2 is a non-proprietary extension of A2A and MCP rather than a closed loop, and standardization continues in FIDO Alliance working groups, with the spec at version 0.2 and the first version covering "pull" payment methods such as credit and debit cards, with push payments and wallets on the roadmap. If your business is B2B and invoices rather than cards, AP2 matters to you mainly through UCP, not directly.

Where ACP fits: orders from inside an assistant

ACP is the narrowest of the three and the most concrete. Stripe and OpenAI announced it on 29 September 2025 as "a new, merchant-friendly open standard co-developed by Stripe and OpenAI", alongside Instant Checkout in ChatGPT, where US shoppers could buy from Etsy merchants and shortly from a large group of Shopify merchants.

The mechanism is worth understanding because it solves the credential problem without a protocol for credentials. After the buyer pays in the chat, Stripe issues a Shared Payment Token, scoped to a specific merchant and basket total, which lets the assistant initiate a payment without ever exposing the buyer's payment credentials. The token goes to the merchant over the API, and the merchant can process it through Stripe or another provider while still using Stripe's risk scores. Orders themselves flow from the assistant to the merchant's backend over ACP, where the merchant accepts or declines, charges, handles tax and does fulfilment exactly as it always has.

Two caveats. ACP is an assistant-and-platform story rather than a general agent standard, and in March 2026 reporting described Instant Checkout as moving to Apps, which is a change of emphasis rather than a retirement. Also relevant: Stripe has been shipping an agent toolkit and a Stripe MCP server, so a lot of "agentic commerce" in practice is an MCP client talking to a payments API, not a protocol rollout.

The three protocols compared

The three overlap and none replaces the others. UCP is the lifecycle, AP2 is the payment proof, ACP is the assistant-native order path, and WebMCP is the on-site alternative where the agent stays in the browser.

UCPAP2ACP
ScopeCatalog, cart, identity, checkout, orderPayment authorization and audit trailOrders and payment from an assistant
Who runs itGoogle with retail, travel and payment partnersGoogle, standardizing in FIDO groupsStripe and OpenAI
IdentityOAuth 2.0 account linking, scopedSigned mandates, role-based privacyShared Payment Token, no raw credentials
Merchant of recordStays with the businessNot a commerce roleStays with the merchant
Maturity in 2026Core spec, lodging draft, food announcedVersion 0.2, card methods firstLive in ChatGPT, emphasis shifting to apps
Use it whenYou want to be purchasable by any agentAutonomous or delegated payment is realYour customers shop inside an assistant

The fourth option is not a protocol and often the cheapest. If the agent is inside your own page, you do not need any of this: register declared tools with the browser and let the agent call your catalog, your stock and your cart directly, as this site's WebMCP implementation does. That works today in an origin-trial browser, it needs no partner integration, and it keeps the shopper on your checkout.

What a mid-size EU shop should do now

Having spent a decade on B2B commerce and PIM platforms, my advice for a shop in this position is deliberately boring. Make the catalog machine-readable and correct before joining anything: a product feed with variants, SKUs, tax classes, stock state and unit pricing, because every one of these protocols starts from the same assumption that you can answer questions about a product. That is the same discipline as serving Markdown to agents instead of scraping HTML, applied to data instead of pages. Then implement UCP's shape of catalog, cart and order if your customers are consumers, because it is the broadest spec and the one most likely to be required by a platform you cannot negotiate with.

Do not rebuild checkout. Every one of these designs explicitly keeps the merchant's own systems as the merchant of record, and a checkout rewrite is a multi-quarter risk with no proven payoff. For B2B, the higher-leverage move is an MCP server over your own domain APIs, quoting tools for availability, lead times and order status, so your customers' internal agents can work with you directly. That is a smaller project than a protocol certification and it produces value immediately, and it pays off whatever the protocols do next as long as the tools are few and well described.

The honest trade-off: all three specifications are young and may change, AP2 is not yet relevant unless you take card payments for autonomous purchases, and being early costs integration work with no guaranteed traffic. Wait for the parts that your biggest platform partner demands, and spend the time on the data quality every protocol needs.

Agentic commerce checklist

  1. Make the catalog queryable: variants, SKUs, minor-unit prices, tax class, stock state, images with alt text.
  2. Publish machine-readable policies, returns and shipping included, so an agent can state your terms instead of guessing.
  3. Keep attribution in the cart payload, or you will lose the credit for sales you were sent.
  4. Stay the merchant of record and keep pricing, tax, fulfilment and refunds in your own system.
  5. Use scoped OAuth for agent access, never a shared account or a long-lived token.
  6. Never let an agent see raw card data; if you join ACP, that is what the Shared Payment Token is for.
  7. Add WebMCP tools on your own site for read actions, so in-page agents do not have to scrape.
  8. Expect the spec to move. Version your integration and keep the adapter thin.

If you are building this kind of integration, the B2B e-commerce developer page covers how I structure the work, and the B2B e-commerce page covers the PIM and catalog side that every one of these protocols depends on.

Sources

  1. Universal Commerce Protocol: capabilities, core concepts and specification
  2. Google Developers Blog: Under the hood of the Universal Commerce Protocol (Jan 2026)
  3. AP2: Agent Payments Protocol documentation, mandates and verifiable credentials
  4. Stripe and OpenAI: Instant Checkout and the Agentic Commerce Protocol (29 Sep 2025)
  5. Digital Commerce 360: OpenAI shifts its checkout plans for agentic commerce (6 Mar 2026)

Frequently asked questions

What is the Universal Commerce Protocol?

UCP is a protocol for agentic commerce covering five core capabilities: catalog search and lookup, cart building, identity linking over OAuth 2.0, checkout and order management. It runs over REST and JSON-RPC with AP2, A2A and MCP supported alongside, and it is explicit that the business remains the merchant of record with its own business logic and customer relationships. As of September 2026 retail is specified, lodging is in draft and food is announced.

What is the difference between UCP, ACP and AP2?

UCP is the commerce lifecycle, from product search to order management, and it keeps the merchant as merchant of record. AP2 is the payment layer: it proves that a human authorized a specific purchase, using mandates carried as signed verifiable credentials. ACP is the assistant-native path co-developed by Stripe and OpenAI, where orders flow from a chat assistant to the merchant's backend and payment happens through a token that never exposes card credentials.

What is a mandate in AP2?

A mandate is a cryptographically signed, tamper-evident credential recording either the user's constraints or their authorization. There are two: the checkout mandate, whose open stage captures the user's goals before a cart is final and whose closed stage authorizes a specific finalized checkout, and the payment mandate, whose open stage captures constraints such as budget and allowed instruments and whose closed stage authorizes one amount bound to that checkout. Chained together they give a non-repudiable audit trail.

Do I need to join one of these protocols to sell to AI agents?

Not yet, and the order of work matters more than the protocol. Make your catalog machine-readable first, with variants, SKUs, minor-unit prices, tax class, stock state and machine-readable return and shipping policies, because every protocol starts from the assumption that you can answer questions about a product. Then read the spec your largest platform partner actually asks for, and keep your own checkout, since all three designs keep the merchant of record.

Is a Shared Payment Token safe to accept from an agent?

A Shared Payment Token is scoped to a specific merchant and basket total, and it exists so an assistant can initiate a payment without ever handling the buyer's card credentials. The token arrives over the API and you process it through your payment provider, optionally using the issuer's risk signals for fraud scoring. What you are accepting is a scoped payment instruction with an audit trail, not a stored card.

Sounds like what you need?

Tell me about your project or role – I’d love to hear from you.