ACP Core Concepts
1.1 ACP’s Role in AI Agentic Commerce
ACP (Agentic Commerce Protocol) was created by Stripe as an open standard defining the protocol for programmatic commerce interactions. OpenAI ChatGPT is the first implementer, but ACP is designed to be adoptable by any AI platform. Key distinction: UCP is a universal cross-platform protocol (co-initiated by Google, Shopify, and others), while ACP was created by Stripe and first implemented within the ChatGPT ecosystem.1.2 The Four-Party Model
ACP defines four participants:| Participant | Role | Example |
|---|---|---|
| Buyer | Consumer who initiates a purchase intent | ChatGPT user |
| Agent | AI that executes commerce operations on behalf of the buyer | ChatGPT |
| Business | Merchant providing products and checkout services | Online retailer |
| Payment Provider | Securely processes payment credentials | Stripe |
1.3 Two Independent Systems
ACP is not a single API. It consists of two entirely independent systems:System 1: Product Feed (Product Data Sync)
Direction: Merchant to OpenAI platform Merchants push product catalog data to OpenAI. ChatGPT uses this data to surface relevant products in user conversations.- SFTP push: Parquet (zstd compression) / jsonl.gz / csv.gz / tsv.gz
- REST API: Feeds + Products + Promotions endpoints
System 2: Agentic Checkout (Transaction Processing)
Direction: AI agent to Merchant server When a user confirms a purchase, the AI agent calls Checkout API endpoints hosted by the merchant to complete the transaction.1.4 Checkout Session State Machine
Each checkout session has a status that transitions through the following flow:| Status | Description |
|---|---|
incomplete | Session just created, information is incomplete |
not_ready_for_payment | Missing required information (address, shipping method, etc.) |
requires_escalation | Requires human intervention |
authentication_required | Requires 3DS or other identity verification |
ready_for_payment | All information present, ready to pay |
pending_approval | Awaiting approval |
complete_in_progress | Payment is being processed |
completed | Transaction complete |
in_progress | Processing |
canceled | Canceled |
expired | Expired |
1.5 Delegate Payment
ACP solves payment security through the Delegate Payment API. The AI agent never passes raw card numbers to the merchant. Flow:- The AI agent sends payment credentials to Stripe’s
POST /agentic_commerce/delegate_payment - Stripe tokenizes the card and returns a vault token (format
vt_...) - The AI agent passes the vault token (not the card number) to the merchant’s
/checkout_sessions/:id/complete - The merchant uses the vault token to request the actual charge from Stripe
1.6 Price Format
All monetary amounts in ACP use ISO 4217 minor currency units:| Actual Amount | ACP Value | Currency |
|---|---|---|
| $79.99 | 7999 | USD |
| $49.50 | 4950 | USD |
| EUR 29.00 | 2900 | EUR |
| JPY 1000 (no decimals) | 1000 | JPY |
1.7 Capabilities Negotiation
ACP supports capability negotiation between merchants and AI agents. Merchants declare their supported capabilities in the Checkout Session creation response:- Payment handlers: Supported payment methods (handler ID, version, spec URL, schema)
- Interventions: Whether redirects, human intervention, and other interaction modes are supported
- Extensions: Extension capability declarations (semantic versioning + optional date, JSONPath defines extension fields)
1.8 ACP vs. Traditional E-Commerce vs. UCP
| Dimension | Traditional E-Commerce | UCP | ACP |
|---|---|---|---|
| Product Display | Merchant’s own website | AI agent calls merchant API | ChatGPT surfaces from Feed data |
| Data Control | Entirely on merchant side | Merchant side (API endpoints) | Pushed to OpenAI + merchant-hosted Checkout |
| Payment | Direct payment gateway | Payment Token Exchange | Delegate Payment (vault token) |
| Orders | Merchant system managed | Standardized Order API | Order returned after Checkout completion |
Next chapter: Product Data Format — Complete field specifications for Product objects, Variants, pricing, media, and availability