Frequently Asked Questions
About the ACP Protocol
Q: Who created ACP?
A: ACP (Agentic Commerce Protocol) was created by Stripe as an open standard defining programmatic commerce interactions between AI agents and merchants. OpenAI ChatGPT is the first implementer of ACP, but the protocol is designed for adoption by any AI platform.Q: What is the current status of ACP?
A: ACP is currently in Beta, operating under a partner approval model. The current specification version is 2026-01-30 (version history: 2025-09-29, 2025-12-12, 2026-01-16, 2026-01-30). Features and specifications may change during the Beta period.Q: How do I apply for ACP access?
A: Visit chatgpt.com/merchants to submit a merchant partnership application. Stripe and OpenAI review merchant qualifications; upon approval, SFTP credentials and API keys are provided.Technical Requirements
Q: What API endpoints do I need to implement?
A: Merchants must implement 5 Checkout Session endpoints on their own servers:| Endpoint | Method | Purpose |
|---|---|---|
/checkout_sessions | POST | Create a checkout session |
/checkout_sessions/:id | GET | Query session status |
/checkout_sessions/:id | POST | Update session information |
/checkout_sessions/:id/complete | POST | Complete payment |
/checkout_sessions/:id/cancel | POST | Cancel session |
Q: What is the price format?
A: Use ISO 4217 minor units (the smallest currency denomination). For example, $99.99 USD is represented asamount: 9999 (unit: cent). For zero-decimal currencies such as JPY, use the integer amount directly.
Q: What file formats are supported?
A: SFTP file uploads support the following formats:| Format | Recommendation |
|---|---|
| Parquet (zstd compression) | Recommended |
| jsonl.gz | Supported |
| csv.gz | Supported |
| tsv.gz | Supported |
Data Management
Q: How often should data be updated?
A: A dual-channel strategy is recommended:- SFTP full snapshots: At least once daily (recommended during off-peak hours)
- REST API incremental updates: Push changes in real time throughout the day (prices, inventory, promotions)
Q: How do I delist a product?
A: Two methods:- Omit from the snapshot — Exclude the product from the next SFTP full snapshot and it will automatically disappear from the catalog
- Set
is_eligible_searchtofalse— Retain the product record but hide it from ChatGPT product discovery
Q: How are promotions submitted?
A: Promotions can only be submitted via the REST API; SFTP file uploads are not supported. Use thePATCH /product_feeds/:id/promotions endpoint to perform upsert operations.
Payment Security
Q: How is payment security ensured?
A: ACP uses the Delegate Payment API for payment processing, hosted by Stripe. The core mechanism:- When a user confirms a purchase in ChatGPT, payment credentials are securely transferred through Stripe
- Stripe generates a one-time vault token (format:
vt_...) and passes it to the merchant - The merchant uses the vault token to complete the charge — they never touch the raw card number
- The entire process is PCI DSS compliant
Q: How is 3DS authentication handled?
A: When a payment requires 3D Secure authentication:- The Checkout Session enters the
authentication_requiredstate - The response includes an
AuthenticationResultobject with an authentication URL - The AI agent passes the authentication URL to the user
- The user completes 3DS verification on the bank’s page
- After authentication, the Session proceeds to the payment flow
Q: What states can a Checkout Session have?
A: A Checkout Session is a state machine with 11 states:| State | Description |
|---|---|
open | Newly created, editable |
stale | Data is outdated, needs refresh |
requires_payment | Awaiting payment information |
requires_confirmation | Awaiting user confirmation |
processing | Payment in progress |
authentication_required | 3DS authentication needed |
complete | Transaction complete |
expired | Session has expired |
canceled | Canceled |
failed | Transaction failed |
requires_action | Additional action needed |
Compatibility
Q: Can ACP and UCP be integrated simultaneously?
A: Yes. ACP and UCP are two independent protocols that do not conflict:- ACP: Created by Stripe, first implemented in the ChatGPT ecosystem, focused on product discovery + checkout + payment
- UCP: Initiated by Google in collaboration with Shopify and others, designed for cross-platform use, covering checkout + identity + orders + payment
Q: How does ACP differ from traditional e-commerce APIs?
A: Key differences:| Dimension | Traditional E-commerce APIs | ACP |
|---|---|---|
| Caller | Merchant frontend / app | AI agent |
| Discovery | Search engines / ads | AI conversational recommendation |
| Payment | Merchant processes directly | Delegate Payment via Stripe |
| Data sync | On-demand queries | Proactive push (SFTP + API) |
| Interaction model | Page browsing | Natural language conversation |
Integration Recommendations
Q: What are the best practices for ACP integration?
A:- Start small, scale gradually — Begin with approximately 100 products, then expand
- Dual-channel sync — SFTP full snapshots + API real-time incremental updates
- Keep IDs stable — Product and variant IDs must not change during their lifecycle
- Monitor data quality — Regularly check sync status and error rates
- Test the payment flow — Use Stripe test mode to validate the complete transaction chain
- Follow content policies — Do not submit products in prohibited categories
ACP is currently in Beta, specification version 2026-01-30. This chapter is based on the ACP open specification and OpenAI Commerce documentation. For the latest information, visit agenticcommerce.dev.
Recommended next: MCP: Model Context Protocol — The standard protocol for connecting AI applications to external tools and data Back to contents: ACP: Agentic Commerce Protocol