Die ACP Checkout API im Detail
Die Checkout API ist das technische Herzstück des Agentic Commerce Protocol. Sie definiert, wie ein KI-Agent programmatisch einen Kauf durchführt — vom Anlegen des Warenkorbs bis zur Zahlungsbestätigung. Alles über eine REST-basierte Schnittstelle mit vier klar definierten Endpunkten.
Übersicht: Die vier Endpunkte
Die Checkout API folgt dem Prinzip minimaler Komplexität. Statt dutzender Endpunkte reichen vier, um den gesamten Checkout-Lifecycle abzubilden:
| Endpunkt | Methode | Funktion |
|---|---|---|
| CreateCheckout | POST | Neue Checkout-Session erstellen |
| UpdateCheckout | PATCH | Session ändern (Menge, Gutschein, Versand) |
| CompleteCheckout | POST | Kauf abschließen mit Payment-Token |
| CancelCheckout | DELETE | Session abbrechen |
Entscheidendes Design-Prinzip: Der Agent berechnet nichts selbst. Alle Preise, Steuern und Versandkosten kommen vom Backend des Händlers. Der Agent zeigt dem Nutzer lediglich an, was der Händler-Server zurückliefert. Das verhindert Inkonsistenzen und gibt dem Händler die volle Kontrolle.
CreateCheckout
Der Agent sendet einen POST-Request mit den gewünschten Produkten an den Händler-Endpoint. Der Request enthält:
- Produkt-IDs und Mengen: Welche Artikel in welcher Stückzahl
- Varianten: Größe, Farbe oder andere Optionen
- Versandadresse: Falls bereits bekannt
- Agent-Identifikation: Welcher Agent die Session erstellt
Der Händler-Server antwortet mit einer Checkout-Session, die eine eindeutige Session-ID, die berechneten Preise (inkl. Steuern und Versand), verfügbare Versandoptionen und den aktuellen Status enthält.
Wichtig: Der Händler kann bei der Erstellung bereits prüfen, ob Produkte verfügbar sind, ob die Versandadresse beliefert werden kann und ob Mindestbestellwerte erreicht sind. Fehler werden sofort als strukturierte Fehlermeldung zurückgegeben, die der Agent dem Nutzer verständlich kommunizieren kann.
UpdateCheckout
Über PATCH-Requests kann der Agent eine bestehende Session ändern. Typische Anwendungsfälle:
- Menge ändern ("Doch zwei Paar statt eines")
- Gutscheincode einlösen
- Versandoption wechseln (Standard → Express)
- Artikel hinzufügen oder entfernen
Nach jedem Update berechnet der Händler-Server den Warenkorb neu und sendet aktualisierte Preise und Optionen zurück. Der Agent zeigt dem Nutzer immer den aktuellen Stand — es gibt keinen lokalen Cache oder Zwischenspeicher im Agenten.
CompleteCheckout
Der kritischste Endpunkt: Hier wird die Zahlung ausgelöst. Der Agent sendet einen POST-Request mit:
- Session-ID: Referenz auf den bestehenden Warenkorb
- SharedPaymentToken: Tokenisierte Zahlungsinformationen
- Bestätigungs-Flag: Der Nutzer hat den Kauf explizit bestätigt
Der Händler-Server verarbeitet die Zahlung über seinen Payment-Provider (z.B. Stripe), reserviert die Ware und erstellt die Bestellung. Die Antwort enthält eine Bestellnummer, den finalen Preis und eine voraussichtliche Lieferzeit.
Eine erfolgreiche CompleteCheckout-Antwort ist verbindlich — der Kauf ist abgeschlossen. Der Nutzer erhält zusätzlich eine Bestätigungs-E-Mail direkt vom Händler.
CancelCheckout
Ein DELETE-Request auf die Session-ID bricht den Checkout ab. Reservierte Produkte werden freigegeben, ein eventuell provisionierter SharedPaymentToken wird ungültig. Der Agent kann dem Nutzer bestätigen, dass nichts berechnet wurde.
CancelCheckout kann jederzeit vor CompleteCheckout aufgerufen werden. Nach einem erfolgreichen CompleteCheckout ist eine Stornierung nur noch über die regulären Retoure-Prozesse des Händlers möglich.
SharedPaymentToken
Der SharedPaymentToken ist das Bindeglied zwischen dem Agenten und dem Payment-System des Händlers. Er funktioniert ähnlich wie ein temporärer Gutschein, der genau einen Kauf autorisiert:
- Einmalig: Jeder Token kann nur für eine Transaktion verwendet werden
- Zweckgebunden: Der Token ist an eine bestimmte Checkout-Session und einen bestimmten Betrag gebunden
- Zeitlich begrenzt: Tokens haben eine TTL (Time-to-Live) und verfallen automatisch
- Keine Klartextdaten: Weder der Agent noch der Händler sehen die echten Kartendaten
Der Nutzer hinterlegt seine Zahlungsmethode einmalig in den Einstellungen seines KI-Assistenten (z.B. ChatGPT). Bei einem Kauf generiert der Agent einen Token, der die Zahlung autorisiert, ohne die sensiblen Daten preiszugeben.
Sicherheit und Authentifizierung
Die Checkout API setzt auf mehrere Sicherheitsschichten:
- HTTPS: Alle Kommunikation ist TLS-verschlüsselt
- Bearer Tokens: Jeder Agent authentifiziert sich über einen API-Key beim Händler
- HMAC-Signaturen: Requests werden signiert, um Manipulation zu verhindern
- Idempotenz-Keys: Verhindert doppelte Käufe bei Netzwerkproblemen
- Rate Limiting: Schutz vor Missbrauch und Bot-Angriffen
Zusätzlich kann der Händler eigene Sicherheitsmaßnahmen implementieren — etwa Betrugserkennungssysteme oder zusätzliche Verifizierungsschritte für hochpreisige Bestellungen.
Ablauf einer Transaktion
Der vollständige Kommunikationsfluss zwischen den vier Beteiligten — Käufer, Agent, Händler und Payment-Provider:
POST /checkout (CreateCheckout)POST /checkout/complete + TokenREST API vs. MCP Server
Händler haben zwei Wege, die Checkout API bereitzustellen:
| Aspekt | REST API | MCP Server |
|---|---|---|
| Protokoll | HTTP/HTTPS | Model Context Protocol |
| Integration | Standard-Webentwicklung | MCP SDK erforderlich |
| Agenten | Jeder HTTP-fähige Agent | MCP-kompatible Agenten |
| Beispiel | Eigenes Backend | Shopify MCP Server |
| Komplexität | Niedriger | Höher, aber flexibler |
Für die meisten Händler ist die REST API der schnellere Einstieg. MCP-Server bieten zusätzliche Möglichkeiten — etwa Tool-Discovery, bei der ein Agent selbstständig erkennt, welche Aktionen ein Shop unterstützt.
Häufig gestellte Fragen
Welches Datenformat verwendet die Checkout API?
Die Checkout API nutzt JSON über HTTPS. Requests und Responses folgen einem definierten Schema mit Pflichtfeldern (Produkt-IDs, Mengen, Preise) und optionalen Feldern (Gutscheincodes, Versandpräferenzen).
Was passiert, wenn eine Checkout-Session abläuft?
Checkout-Sessions haben eine definierte TTL (Time-to-Live). Läuft eine Session ab, ohne dass CompleteCheckout aufgerufen wird, verfällt sie automatisch. Reservierte Produkte werden freigegeben und der SharedPaymentToken wird ungültig.
Können mehrere Produkte in einer Checkout-Session sein?
Ja. CreateCheckout unterstützt Warenkörbe mit mehreren Positionen. Über UpdateCheckout können Positionen hinzugefügt, entfernt oder geändert werden, bevor der Kauf mit CompleteCheckout abgeschlossen wird.