Getting started for Sellers
This guide walks you through implementing the Agentic Commerce Protocol (ACP) as a seller so agents can create, update, and complete checkouts with your store.
Overview
As a seller, you implement a set of REST endpoints that agents call to conduct checkouts. You remain the merchant of record—calculating prices, managing inventory, and processing payments through your existing systems.
You are responsible for:
- Calculating all amounts (item prices, discounts, taxes, shipping)
- Managing inventory and availability
- Processing payments through your payment provider
- Fulfilling orders
Endpoints
ACP defines five REST endpoints. All use HTTPS, accept JSON, and return the complete checkout state.
| Endpoint | Description |
|---|---|
POST /checkout_sessions | Create a new checkout session |
GET /checkout_sessions/{id} | Retrieve checkout state |
POST /checkout_sessions/{id} | Update a checkout session |
POST /checkout_sessions/{id}/complete | Complete with payment |
POST /checkout_sessions/{id}/cancel | Cancel the session |
Create a checkout session
When an agent creates a checkout, calculate line item totals, available fulfillment options, and taxes based on the provided items and address. You must also declare your capabilities including supported payment handlers.
Try it yourself - modify the request and click "Send Request" to see the response:
Key points:
- The seller returns the complete checkout state
- Declare your
capabilitiesincluding payment handlers and any supported extensions - Use
messagesto communicate next steps to the agent
Retrieve a checkout session
Agents can retrieve the current state of a checkout session at any time.
Update a checkout session
Agents update sessions to change items, select fulfillment options, or modify addresses. Recalculate totals after each update.
When a fulfillment option is selected and all required information is present, transition the status to ready_for_payment.
Declare capabilities
As of version 2026-01-30, you must declare your capabilities in every checkout response. This enables agents to discover what payment methods, interventions, and extensions you support.
Payment handlers
Payment handlers replace the previous payment_provider field. Each handler describes a specific payment method with its configuration:
{
"capabilities": {
"payment": {
"handlers": [
{
"id": "card_tokenized",
"name": "dev.acp.tokenized.card",
"version": "2026-01-22",
"requires_delegate_payment": true,
"psp": "stripe",
"config": {
"merchant_id": "acct_1234567890",
"accepted_brands": ["visa", "mastercard", "amex"]
}
}
]
}
}
}
Extensions (optional)
Extensions enable optional features like discount codes. To support the discount extension:
{
"capabilities": {
"extensions": [
{
"name": "discount",
"extends": [
"$.CheckoutSessionCreateRequest.discounts",
"$.CheckoutSessionUpdateRequest.discounts",
"$.CheckoutSession.discounts"
]
}
]
}
}
When the discount extension is active, agents can send discount codes in requests and you return applied discount details in responses.
Complete a checkout session
The agent sends payment data to complete the checkout. The payment_data contains a handler ID and payment instrument with credentials from the Payment Service Provider (PSP).
When you receive the complete request:
- Validate the
handler_idmatches one of your declared payment handlers - Extract the payment credential and create a payment using your PSP
- Create an order in your system
- Return the order details
Cancel a checkout session
Canceling a session releases any reserved inventory and prevents further updates.