> ## Documentation Index
> Fetch the complete documentation index at: https://learn.orbexa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ACP integration frequently asked questions

> ACP integration FAQ — answers to common questions about the application process, technical requirements, payment security, and data management.

# 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](https://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 as `amount: 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      |

All files must use UTF-8 encoding. Parquet with zstd compression offers the best efficiency.

## 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)

Full snapshots provide a data consistency baseline; API incremental updates ensure timeliness.

### Q: How do I delist a product?

**A**: Two methods:

1. **Omit from the snapshot** — Exclude the product from the next SFTP full snapshot and it will automatically disappear from the catalog
2. **Set `is_eligible_search` to `false`** — Retain the product record but hide it from ChatGPT product discovery

Method 2 is suitable for temporary delistings (seasonal products, temporary stockouts).

### Q: How are promotions submitted?

**A**: Promotions **can only be submitted via the REST API**; SFTP file uploads are not supported. Use the `PATCH /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:

1. When a user confirms a purchase in ChatGPT, payment credentials are securely transferred through Stripe
2. Stripe generates a one-time **vault token** (format: `vt_...`) and passes it to the merchant
3. The merchant uses the vault token to complete the charge — **they never touch the raw card number**
4. The entire process is PCI DSS compliant

### Q: How is 3DS authentication handled?

**A**: When a payment requires 3D Secure authentication:

1. The Checkout Session enters the `authentication_required` state
2. The response includes an `AuthenticationResult` object with an authentication URL
3. The AI agent passes the authentication URL to the user
4. The user completes 3DS verification on the bank's page
5. 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

Merchants can implement both protocols simultaneously to reach users across more AI platforms. The data formats and endpoints are independent and do not produce conflicts.

### 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**:

1. **Start small, scale gradually** — Begin with approximately 100 products, then expand
2. **Dual-channel sync** — SFTP full snapshots + API real-time incremental updates
3. **Keep IDs stable** — Product and variant IDs must not change during their lifecycle
4. **Monitor data quality** — Regularly check sync status and error rates
5. **Test the payment flow** — Use Stripe test mode to validate the complete transaction chain
6. **Follow content policies** — Do not submit products in prohibited categories

<Note>
  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](https://agenticcommerce.dev).
</Note>

***

**Recommended next**: [MCP: Model Context Protocol](/en/book-5/index) — The standard protocol for connecting AI applications to external tools and data

**Back to contents**: [ACP: Agentic Commerce Protocol](/en/book-4/index)
