Stripe ACP: The Agentic Commerce Protocol

An analysis of Stripe Agentic Commerce Protocol (ACP), enabling autonomous AI agents to interact with e-commerce systems.

Published:
Updated:
5 min read
protocols

Introduction to Stripe ACP

The Agentic Commerce Protocol (ACP) by Stripe is a standardized API and payload protocol designed to bridge the gap between traditional commercial web platforms and autonomous purchasing agents. In the modern web ecosystem, checkout flows are heavily optimized for human users, relying on visual cues, multi-step forms, and interactive anti-fraud challenges. These designs present significant obstacles to AI agents attempting to purchase physical goods or register for services on behalf of their users.

Stripe ACP solves this issue by exposing a machine-readable checkout interface alongside standard web pages. Merchants integrating the protocol declare their products, pricing structure, inventory status, and payment rules in a structured format that agents can consume programmatically. By standardizing the communication channel, Stripe ACP enables seamless automated purchasing while maintaining strict security controls and fraud prevention measures.

Protocol Mechanics and Session Initiation

An agentic commerce session begins when the purchasing agent requests the ACP metadata endpoint for a specific merchant or product. The merchant returns an ACP manifest containing detailed schema definitions for the checkout requirements. These details include supported payment methods, shipping options, required billing fields, and any conditional rules, such as geographic restrictions.

The agent parses the manifest and compiles the necessary user information from its secure local vault. To finalize the purchase, the agent submits a structured payload containing the selected items, shipping address, and a delegated payment credential. Stripe ACP processes the request, performs risk evaluation, and returns a transaction confirmation message containing tracking information and receipt details.

The table below outlines the core properties of an ACP manifest payload:

PropertyTypeDescription
merchantIdStringThe unique identifier of the merchant within the Stripe network.
supportedCurrenciesArrayA list of currency codes accepted for the checkout session.
requiredFieldsArrayThe specific client details (e.g., shipping, phone) required for compliance.
taxExemptStatusBooleanIndicates whether the merchant supports tax exemption for automated buyers.

Delegated Checkout Implementation

Integrating Stripe ACP requires server-side route handling to negotiate and settle payment intents. Below is a simplified representation of how an agent initiates a delegated checkout session using Stripe ACP endpoints:

interface AcpCheckoutPayload {
  merchantId: string;
  items: Array<{ id: string; quantity: number }>;
  shippingAddress: object;
  paymentMethodId: string;
}
 
async function initiateAcpCheckout(payload: AcpCheckoutPayload): Promise<object> {
  const response = await fetch('https://api.stripe.com/v1/acp/checkouts', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.STRIPE_SECRET_KEY}`,
      'Content-Type': 'application/json',
      'Stripe-Version': '2025-05-15'
    },
    body: JSON.stringify(payload)
  });
 
  if (!response.ok) {
    const errorDetails = await response.json();
    throw new Error(`Stripe ACP Checkout Failed: ${JSON.stringify(errorDetails)}`);
  }
 
  return response.json();
}

By providing a clean programmatic path for commerce, Stripe ACP eliminates checkout friction and enables the next generation of transactional AI.

Latest Articles

View all