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.

EndpointDescription
POST /checkout_sessionsCreate a new checkout session
GET /checkout_sessions/{id}Retrieve checkout state
POST /checkout_sessions/{id}Update a checkout session
POST /checkout_sessions/{id}/completeComplete with payment
POST /checkout_sessions/{id}/cancelCancel 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 capabilities including payment handlers and any supported extensions
  • Use messages to 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:

  1. Validate the handler_id matches one of your declared payment handlers
  2. Extract the payment credential and create a payment using your PSP
  3. Create an order in your system
  4. Return the order details

Cancel a checkout session

Canceling a session releases any reserved inventory and prevents further updates.

Next steps