Erstellen der Bezahlvorgang-Endpoints des Agentic Commerce ProtocolPrivate Vorschau
Erfahren Sie mehr über die Spezifikation des Agentic Commerce Protocol.
Sie können das Protokoll für Agentic Commerce nutzen, um es KI-Agenten zu ermöglichen, den Handel zwischen Käuferinnen und Käufern und Verkäuferinnen und Verkäufern zu verwalten. Diese Spezifikation definiert die Methoden und Datenstrukturen zum Erstellen, Aktualisieren und Abschließen von Bezahlvorgängen.
Nachfolgend finden Sie Beispiele für REST-Integrationen.
Checkout-Sitzung erstellen
Sie können eine neue Checkout-Sitzung mit Käuferdetails, Posten und Versandinformationen erstellen.
Anfrage
Geben Sie die für Ihre Anfrage erforderlichen Parameter an.
Beispielanfrage:
POST /checkouts { "items": [ { "id": "item_123", "quantity": 2 } ], "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "fulfillment_address": { "name": "John Doe", "line_one": "123 Main St", "line_two": "Apt 4B", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94105" } }
Antwort
Die Antwort gibt den aktuellen Status des Bezahlvorgangs von dem/der Verkäufer/in zurück.
Beispielantwort:
{ "id": "checkout_abc123", "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "payment_provider": { "provider": "stripe", "supported_payment_methods": ["card"] }, "status": "ready_for_payment", "currency": "usd", "line_items": [ { "id": "item_123", "item": { "id": "item_123", "quantity": 2 }, "base_amount": 2000, "discount": 0, "total": 2000, "subtotal": 2000, "tax": 0 } ], "fulfillment_address": { "name": "John Doe", "line_one": "123 Main St", "line_two": "Apt 4B", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94105" }, "fulfillment_options": [ { "type": "shipping", "id": "shipping_fast", "title": "Express Shipping", "subtitle": "2-3 business days", "carrier": "Shipping Co", "subtotal": 150, "tax": 0, "total": 150 } ], "fulfillment_option_id": "shipping_fast", "totals": [ { "type": "subtotal", "display_text": "Subtotal", "amount": 2000 }, { "type": "fulfillment", "display_text": "Shipping", "amount": 150 }, { "type": "tax", "display_text": "Tax", "amount": 100 }, { "type": "total", "display_text": "Total", "amount": 2250 } ], "messages": [], "links": [] }
Rufen Sie ein Checkout-Objekt ab
Um eine vorhandene Checkout-Sitzung anhand ihrer ID abzurufen, stellen Sie eine die ID enthaltende Anfrage an den entsprechenden API-Endpoint.
Anfrage
Geben Sie die für Ihre Anfrage erforderlichen Parameter an.
| Parameter | Typ | Beschreibung |
|---|---|---|
| id | string | Eindeutige Kennung für den Bezahlvorgang. Required |
Beispielanfrage:
GET /checkouts/:id
Antwort
Die Antwort gibt den aktuellen Status des Bezahlvorgangs von dem/der Verkäufer/in zurück.
Beispielantwort:
{ "id": "checkout_abc123", "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "payment_provider": { "provider": "stripe", "supported_payment_methods": ["card"] }, "status": "ready_for_payment", "currency": "usd", "line_items": [ { "id": "item_123", "item": { "id": "item_123", "quantity": 2 }, "base_amount": 2000, "discount": 0, "total": 2000, "subtotal": 2000, "tax": 0 } ], "fulfillment_address": { "name": "John Doe", "line_one": "123 Main St", "line_two": "Apt 4B", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94105" }, "fulfillment_options": [ { "type": "shipping", "id": "shipping_fast", "title": "Express Shipping", "subtitle": "2-3 business days", "carrier": "Shipping Co", "subtotal": 150, "tax": 0, "total": 150 } ], "fulfillment_option_id": "shipping_fast", "totals": [ { "type": "subtotal", "display_text": "Subtotal", "amount": 2000 }, { "type": "fulfillment", "display_text": "Shipping", "amount": 150 }, { "type": "tax", "display_text": "Tax", "amount": 100 }, { "type": "total", "display_text": "Total", "amount": 2250 } ], "messages": [], "links": [] }
Aktualisieren Sie eine Checkout-Sitzung
Sie können eine vorhandene Checkout-Sitzung aktualisieren, indem Sie Posten, Versandadresse oder Ausführungsoptionen ändern.
Anfrage
Geben Sie die für Ihre Anfrage erforderlichen Parameter an.
Beispielanfrage:
PUT /checkouts/:id { "items": [ { "id": "item_123", "quantity": 3 }, { "id": "item_456", "quantity": 1 } ], "fulfillment_address": { "name": "John Doe", "line_one": "456 Oak Ave", "city": "Los Angeles", "state": "CA", "country": "US", "postal_code": "90210" }, "fulfillment_option_id": "shipping_fast" }
Antwort
Die Antwort gibt den aktuellen Status des Bezahlvorgangs von dem/der Verkäufer/in zurück.
Beispielantwort:
{ "id": "checkout_abc123", "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "payment_provider": { "provider": "stripe", "supported_payment_methods": ["card"] }, "status": "ready_for_payment", "currency": "usd", "line_items": [ { "id": "item_123", "item": { "id": "item_123", "quantity": 3 }, "base_amount": 3000, "discount": 0, "total": 3000, "subtotal": 3000, "tax": 0 }, { "id": "item_456", "item": { "id": "item_456", "quantity": 1 }, "base_amount": 500, "discount": 0, "total": 500, "subtotal": 500, "tax": 0 } ], "fulfillment_address": { "name": "John Doe", "line_one": "456 Oak Ave", "city": "Los Angeles", "state": "CA", "country": "US", "postal_code": "90210" }, "fulfillment_options": [ { "type": "shipping", "id": "shipping_fast", "title": "Express Shipping", "subtitle": "2-3 business days", "carrier": "Shipping Co", "subtotal": 150, "tax": 0, "total": 150 } ], "fulfillment_option_id": "shipping_fast", "totals": [ { "type": "subtotal", "display_text": "Subtotal", "amount": 3500 }, { "type": "fulfillment", "display_text": "Shipping", "amount": 150 }, { "type": "tax", "display_text": "Tax", "amount": 100 }, { "type": "total", "display_text": "Total", "amount": 3750 } ], "messages": [], "links": [] }
Bezahlvorgang abschließen
Sie können den Bezahlvorgang abschließen, indem Sie die Zahlung abwickeln und eine Bestellung erstellen.
Anfrage
Geben Sie die für Ihre Anfrage erforderlichen Parameter an.
Beispielanfrage:
POST /checkouts/:id/complete { "payment_data": { "token": "spt_123", "provider": "stripe", "billing_address": { "name": "John Doe", "line_one": "123 Main St", "line_two": "Apt 4B", "city": "San Francisco", "state": "CA", "country": "US", "postal_code": "94105" } } }
Antwort
Die Antwort gibt den aktuellen Status des Bezahlvorgangs von dem/der Verkäufer/in zurück.
Beispielantwort:
{ "id": "checkout_abc123", "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "status": "completed", "currency": "usd", "line_items": [ { "id": "item_123", "item": { "id": "item_123", "quantity": 3 }, "base_amount": 3000, "discount": 0, "total": 3000, "subtotal": 3000, "tax": 0 }, { "id": "item_456", "item": { "id": "item_456", "quantity": 1 }, "base_amount": 500, "discount": 0, "total": 500, "subtotal": 500, "tax": 0 } ], "fulfillment_address": { "name": "John Doe", "line_one": "456 Oak Ave", "city": "Los Angeles", "state": "CA", "country": "US", "postal_code": "90210" }, "fulfillment_options": [ { "type": "shipping", "id": "shipping_fast", "title": "Express Shipping", "subtitle": "2-3 business days", "carrier": "Shipping Co", "subtotal": 150, "tax": 0, "total": 150 } ], "fulfillment_option_id": "shipping_fast", "totals": [ { "type": "subtotal", "display_text": "Subtotal", "amount": 3500 }, { "type": "fulfillment", "display_text": "Shipping", "amount": 150 }, { "type": "tax", "display_text": "Tax", "amount": 100 }, { "type": "total", "display_text": "Total", "amount": 3750 } ], "messages": [], "links": [] }
Bezahlvorgang stornieren
Sie können eine vorhandene Checkout-Sitzung bei Bedarf abbrechen.
Anfrage
Geben Sie die für Ihre Anfrage erforderlichen Parameter an.
| Parameter | Typ | Beschreibung |
|---|---|---|
| id | string | Eindeutige Kennung für den Bezahlvorgang. Required |
Beispielanfrage:
POST /checkouts/:id/cancel {}
Antwort
Die Antwort gibt den aktuellen Status des Bezahlvorgangs von dem/der Verkäufer/in zurück.
Beispielantwort:
{ "id": "checkout_abc123", "buyer": { "first_name": "John", "last_name": "Doe", "email": "john.doe@example.com", "phone_number": "+1234567890" }, "status": "canceled", "currency": "usd", "line_items": [ { "id": "item_123", "item": { "id": "item_123", "quantity": 3 }, "base_amount": 3000, "discount": 0, "total": 3000, "subtotal": 3000, "tax": 0 }, { "id": "item_456", "item": { "id": "item_456", "quantity": 1 }, "base_amount": 500, "discount": 0, "total": 500, "subtotal": 500, "tax": 0 } ], "fulfillment_address": { "name": "John Doe", "line_one": "456 Oak Ave", "city": "Los Angeles", "state": "CA", "country": "US", "postal_code": "90210" }, "fulfillment_options": [ { "type": "shipping", "id": "shipping_fast", "title": "Express Shipping", "subtitle": "2-3 business days", "carrier": "Shipping Co", "subtotal": 150, "tax": 0, "total": 150 } ], "fulfillment_option_id": "shipping_fast", "totals": [ { "type": "subtotal", "display_text": "Subtotal", "amount": 3500 }, { "type": "fulfillment", "display_text": "Shipping", "amount": 150 }, { "type": "tax", "display_text": "Tax", "amount": 100 }, { "type": "total", "display_text": "Total", "amount": 3750 } ], "messages": [ { "type": "info", "content_type": "plain", "content": "Checkout cancelled: Customer changed their mind" } ], "links": [] }
Datenstrukturen
In diesem Abschnitt werden die Datenstrukturen beschrieben, die an dem Bezahlvorgang beteiligt sind.
Käufer
Käufer/innen sind Einzelpersonen, die den Kauf initiieren.
| Parameter | Typ | Beschreibung |
|---|---|---|
| first_name | string | Der Vorname des Käufers/der Käuferin. Required |
| last_name | string | Der Nachname des Käufers/der Käuferin. Required |
| E-Mail-Adresse | string | Die E-Mail-Adresse des Käufers/der Käuferin. Erforderlich |
| phone_number | string optional | Die Telefonnummer des Käufers/der Käuferin. |
Posten
„Item“ dient der Angabe des Produkts oder der Dienstleistung, die der/die Käufer/in kaufen möchte, sowie der gewünschten Menge.
| Parameter | Typ | Beschreibung |
|---|---|---|
| id | string | Eindeutige Kennung für den Posten. Required |
| quantity | integer | Die angeforderte Menge des Postens für diesen Bezahlvorgang. Required |
LineItem
„LineItem“ enthält Angaben zu dem Posten, der dem Bezahlvorgang hinzugefügt wurde, einschließlich der Menge.
Anschrift
„Address“ dient der Angabe der Versand- oder Rechnungsadresse des Käufers/der Käuferin.
| Parameter | Typ | Beschreibung |
|---|---|---|
| name | string | Name der Person, an die die Posten geliefert werden. Required |
| line_one | string | Adresszeile 1 (z. B. Straße, Postfach oder Name des Unternehmens). Required |
| line_two | string optional | Adresszeile 2 (z. B. Wohnung, Suite, Einheit oder Gebäude). |
| city | string | Ort, Bezirk, Vorort, Stadt oder Dorf. Required |
| state | string | Bundesstaat, Landkreis, Provinz oder Region. Required |
| country | string | Zweistelliger Ländercode (ISO 3166-1 alpha-2). Required |
| postal_code | string | Postleitzahl. Required |
PaymentData
„PaymentData“ enthält die Zahlungsdetails des/der Käufer/in, einschließlich des tokenisierten Werts und des Zahlungsdienstleisters.
Summe
„Total“ enthält eine Zusammenfassung der Gesamtsumme.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art der Summe. Required Mögliche Werte: |
| display_text | string | Der Anzeigetext für die Summe. Required |
| amount | integer | Der Gesamtbetrag. Required |
FulfillmentOption
Die Ausführungsoptionen sind entweder „Versand“ oder „digital“. Siehe ShippingFulfillmentOption undDigitalFulfillmentOption für spezifische Implementierungen.
ShippingFulfillmentOption
„ShippingFulfillmentOption“ definiert die Parameter für Versandausführungsoptionen, einschließlich der Angaben zum Paketdienst und Lieferzeiten.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art der Ausführungsoption. Required Mögliche Werte: |
| id | string | Eindeutige Kennung für die Versandausführungsoption. Required |
| title | string | Der Titel der Versandausführungsoption. Required |
| subtitle | string optional | Der Untertitel der Versandausführungsoption. |
| Paketdienst | string optional | Der Paketdienst der Versandausführungsoption. |
| earliest_delivery_time | string optional | Die früheste Lieferzeit der Versandausführungsoption (ISO 8601-Format). |
| latest_delivery_time | string optional | Die späteste Lieferzeit der Versandausführungsoption (ISO 8601-Format). |
| subtotal | integer | Die Zwischensumme der Versandoption. Required |
| tax | integer | Die bei der Versandausführungsoption anfallende Steuer. Required |
| total | integer | Die Summe der Versandoption. Required |
DigitalFulfillmentOption
„DigitalFulfillmentOption“ definiert die Parameter für digitale Ausführungsoptionen, einschließlich des Titels und Preisinformationen.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art der Ausführungsoption. Required Mögliche Werte: |
| id | string | Eindeutige Kennung für die digitale Ausführungsoption. Required |
| title | string | Der Titel der digitalen Ausführungsoption. Required |
| subtitle | string optional | Der Untertitel der digitalen Ausführungsoption. |
| subtotal | integer | Die Zwischensumme der digitalen Ausführungsoption. Required |
| tax | integer | Die bei der digitalen Ausführungsoption anfallende Steuer. Required |
| total | integer | Die Summe der digitalen Ausführungsoption. Required |
PaymentProvider
„PaymentProvider“ definiert den von dem/der Verkäufer/in unterstützten Zahlungsdienstleister und die verfügbaren Methoden.
| Parameter | Typ | Beschreibung |
|---|---|---|
provider |
| Der Zahlungsdienstleister des Verkäufers/der Verkäuferin. Required Mögliche Werte: |
supported_payment_methods |
| Die von dem/der Verkäufer/in zugelassenen Zahlungsmethoden. Required Mögliche Werte: |
Nachricht
Meldungen können Informations- oder Fehlermeldungen sein.
InfoMessage
„InfoMessage“ stellt Informationsmeldungen dar, in denen die Art und der Inhalt detailliert beschrieben werden.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Zeichenfolgenwert, der den Nachrichtentyp darstellt. Mögliche Werte: |
| param | string optional | RFC 9535 JSONPath an die Komponente der Checkout-Sitzung, auf die die Nachricht verweist. |
content_type |
| Die Art des Inhalts der Nachricht. Mögliche Werte: |
| content | string | Der Inhalt der Nachricht. |
ErrorMessage
„ErrorMessage“ steht für Fehlermeldungen, in denen der Typ und der Code aufgeführt sind.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Zeichenfolgenwert, der den Nachrichtentyp darstellt. Mögliche Werte: |
Code |
| Der Code des Fehlers. Mögliche Werte: |
| param | string optional | RFC 9535 JSONPath an die Komponente der Checkout-Sitzung, auf die die Nachricht verweist. |
content_type |
| Die Art des Inhalts der Nachricht. Mögliche Werte: |
| content | string | Der Inhalt der Nachricht. |
Fehler
„Error“ definiert die Parameter, die sich auf Fehler beziehen, die während des Bezahlvorgangs auftreten.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art des Fehlers. Required Mögliche Werte: |
| Code | string | Der von der Implementierung definierte Fehlercode. Required |
| Nachricht | string | Die Meldung des Fehlers. Required |
| param | string optional | RFC 9535 JSONPath an die Komponente der Checkout-Sitzung, auf die die Nachricht verweist. |
Link
Der Link definiert die Parameter für Links, die sich auf Richtlinien und Vereinbarungen beziehen.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Wert der Zeichenfolge, die die Art des Links darstellt. Required Mögliche Werte: |
| URL | string | Die URL des Links. Required |
Order (Bestellung)
„Order“ stellt das Ergebnis des Bezahlvorgangs bereit und bietet dem/der Käufer/in eine detaillierte Übersicht über die Bestellung.
| Parameter | Typ | Beschreibung |
|---|---|---|
| id | string | Eindeutige Kennung für die Bestellung. Required |
| checkout_session_id | string | Verweis auf die Checkout-Sitzung, aus der die Bestellung stammt. Required |
| permalink_url | string | Die Permalink-URL für die Bestellung. Required |
Ereignis
„Event“ definiert die Parameter für Ereignisse im Zusammenhang mit der Erstellung und Aktualisierung von Bestellungen.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art des Ereignisses. Required Mögliche Werte: |
| Daten | hash | Ereignisdaten mit Bestellinformationen. Required |
OrderEventData
„OrderEventData“ enthält Daten zu Bestellereignissen.
Rückerstattung
„Refund“ definiert die Parameter für die Verwaltung von Rückerstattungen im Zusammenhang mit abgeschlossenen Bestellungen.
| Parameter | Typ | Beschreibung |
|---|---|---|
type |
| Die Art der Rückerstattung. Required Mögliche Werte: |
| amount | integer | Der Betrag der Rückerstattung. Required |