# Handel in Ihre KI-Nutzeroberfläche integrieren Durchsuchen Sie Produkte, erfassen Sie Zahlungsdaten und wickeln Sie Käufe im Auftrag der Verkäufer/innen ab. > Die Agentic Commerce Suite ist in den USA verfügbar. Sie unterstützt einmalige Käufe von physischen Waren. Nutzen Sie die Agentic Commerce Suite (ACS), um E-Commerce-Funktionen in Ihre KI-Schnittstelle zu integrieren. ACS unterstützt mehrere E-Commerce-Protokolle, sodass Ihre KI-Schnittstelle Produkte finden, Zahlungsinformationen erfassen und Käufe im Namen der Verkäufer/innen abschließen kann. Nutzen Sie die integrierte Lösung für einen durchgängigen Agentic-Commerce-Ablauf. # Integriert > This is a Integriert for when agent-checkout-mode is full. View the full page at https://docs.stripe.com/agentic-commerce/for-agents?agent-checkout-mode=full. Verwenden Sie die eingebettete Integration, um den gesamten Bezahlvorgang über Stripe zu verwalten, einschließlich der Aufnahme von Produktfeeds sowie Warenkorbverwaltung, Ausführung und Zahlungseinzug. Stripe kümmert sich um Routing, Authentifizierung, Fehlerwiederholungen und die Erstellung von gemeinsam genutzten Payment Token (SPT), sodass Sie nicht direkt mit jedem Verkäufer/jeder Verkäuferin integrieren müssen. Anbieter, die sowohl die Produktsuche als auch Kaufmöglichkeiten direkt über ihre Nutzeroberfläche anbieten, können als Marktplatzbetreiber (MPFs) mit Verpflichtungen zur Steuererhebung und -abführung gelten – wenden Sie sich an eine/n Steuerberater/in, um zu klären, ob dies auf Sie zutrifft. Lifecycle des Bezahlvorgangs (See full diagram at https://docs.stripe.com/agentic-commerce/for-agents) ## Jetzt starten ### Stripe-Konto einrichten [Erstellen Sie ein Stripe-Konto](https://stripe.com/register), falls Sie noch keines haben. Nachdem Sie Ihre E-Mail-Adresse bestätigt haben, aktivieren Sie die Zahlungsfunktion, indem Sie Unternehmensinformationen und persönliche Daten angeben, ein Bankkonto für Auszahlungen verknüpfen und die Zwei-Faktor-Authentifizierung einrichten. ### Agenten-Konfiguration starten Gehen Sie zur Seite [Agentic Commerce](https://dashboard.stripe.com/agentic-commerce) und wählen Sie **Als Agent zum Onboarding einladen** aus, um Ihr Konto als Agent zu konfigurieren. Wenn Sie noch kein [Stripe-Profil](https://docs.stripe.com/get-started/account/profile.md) haben, fordert Stripe Sie auf, eines zu erstellen. ### (Optional) Allgemeine Geschäftsbedingungen und Datenschutzerklärung hochladen Sie können Verkäufer/innen auffordern, Ihre Allgemeinen Geschäftsbedingungen und Datenschutzerklärung zu akzeptieren, bevor sie fortfahren. Laden Sie beim Onboarding für jedes Dokument einen Link hoch. Stripe zeigt Verkäuferinnen und Verkäufern diese Links an, wenn sie eine Vereinbarung eingehen. Dieser Schritt ist optional. ### Annahme von Produktfeeds konfigurieren Richten Sie SSH File Transfer Protocol (SFTP) ein, um Verkäuferproduktfeeds von Stripe aufzunehmen. Sie müssen den Hostnamen, den Port und den Nutzernamen angeben. Stripe generiert ein öffentliches und ein privates Schlüsselpaar, das Sie zu den autorisierten Schlüsseln des Servers hinzufügen. Der öffentliche Schlüssel ist verfügbar, wenn Sie das Agenten-Onboarding im Stripe-Dashboard abschließen. Stripe rotiert den öffentlichen und privaten Schlüssel alle 365 Tage und benachrichtigt die Vertreterin/den Vertreter, wenn es Zeit zum Rotieren ist. Beim Onboarding stellt Stripe Ihnen außerdem einen eindeutigen Challenge-Token zur Verfügung. Sie müssen diesen Token in einer Datei namens `stripe-verification.txt` auf Ihren SFTP Host hochladen. Sobald Stripe das Vorhandensein dieser Datei mit dem erwarteten Token verifiziert hat, beginnt Stripe mit dem Hochladen von Produktkatalogen für Ihre Verkäufer/innen auf Ihren SFTP-Server. ### Verifizierung abschließen Nachdem Sie alle Onboarding-Schritte abgeschlossen haben, wechselt Ihr Konto möglicherweise in den Status „Ausstehend“, während Stripe die letzten Verifizierungsprüfungen durchführt. Stripe fordert Sie möglicherweise auf, eine zusätzliche Identitätsprüfung durchzuführen, auf die Sie in Ihren [Konto-Einstellungen](https://dashboard.stripe.com/settings/account) zugreifen können. Stripe sendet Ihnen eine E-Mail, wenn Ihre Agentenkonfiguration aktiv wird. ## Verkäuferbeziehungen verwalten ### Eine Vereinbarung zum orchestrierten Handel einrichten Nachdem Sie das Agenten-Onboarding abgeschlossen haben, können alle Verkäufer/innen der Agentic Commerce Suite (ACS) Ihren Kontonamen und Ihr Unternehmensprofil im Dashboard finden. Bevor Sie mit einem/einer Verkäufer/in in Kontakt treten können, benötigen Sie eine Vereinbarung über orchestrierten Handel (Orchestrated Commerce Agreement, OCA). Eine OCA ist eine erforderliche Verbindung zwischen Ihrem Agenten und einem/einer Verkäufer/in, die Agentic-Commerce-Abläufe ermöglicht. Nur ein/e Verkäufer/in kann eine OCA-Anfrage initiieren. Nachdem ein/e Verkäufer/in eine OCA angefordert hat, wird der/die Verkäufer/in auf der Agentic-Commerce-Seite im Dashboard angezeigt. Sie können die OCA für diese/n Verkäufer/in genehmigen oder ablehnen. ### Eine Vereinbarung über orchestrierten Handel kündigen Jede Partei kann eine OCA jederzeit kündigen. Nach der Kündigung kann nur die Partei, die die OCA gekündigt hat, eine neue Anfrage stellen. Sie können eine OCA auf der Agentic-Commerce-Seite im Dashboard kündigen. ### Eine OCA mit Webhooks verwalten Konfigurieren Sie Ihren Agenten so, dass er [v2-Webhooks](https://docs.stripe.com/api/v2/core/event_destinations.md) überwacht. Richten Sie ein Ereignisziel ein, um diese Ereignisse zu empfangen: - `v2.orchestrated_commerce.agreement.created` - `v2.orchestrated_commerce.agreement.partially_confirmed` - `v2.orchestrated_commerce.agreement.confirmed` - `v2.orchestrated_commerce.agreement.terminated` #### OCA einrichten Nachdem ein/e Verkäufer/in Ihren Agent im Stripe-Dashboard aktiviert hat, sendet Stripe zwei Webhooks an Ihren Agent: `v2.orchestrated_commerce.agreement.created` und `v2.orchestrated_commerce.agreement.partially_confirmed`. Wenn Sie den Webhook `partially_confirmed` erhalten, rufen Sie die OCA ab, um die Identität der Verkäuferin oder des Verkäufers zu verifizieren, und bestätigen Sie dann Ihre Seite der OCA: ```json // Webhook payload { "id": "evt_123", "object": "v2.core.event", "type": "v2.orchestrated_commerce.agreement.partially_confirmed", "related_object": { "id": "orca_123", "type": "v2.orchestrated_commerce.agreement", "url": "/v2/orchestrated_commerce/agreements/orca_123" } } ``` OCA abrufen, um den/die Verkäufer/in zu verifizieren: ```curl curl https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Sie können auch das Stripe-Profil des Verkäufers/der Verkäuferin abrufen, um weitere Details wie Anzeigename und Branding zu erhalten. ```curl curl https://api.stripe.com/v2/network/profiles/{{SELLER_PROFILE_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` OCA bestätigen: ```curl curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/confirm \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Stripe sendet den Webhook `v2.orchestrated_commerce.agreement.confirmed` an den/die Verkäufer/in. Nachdem beide Parteien die OCA bestätigt haben, autorisiert die OCA den Datenzugriff zwischen Ihrem Agenten und dem/der Verkäufer/in. #### OCA kündigen Jede Partei kann eine OCA jederzeit widerrufen: ```curl curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/terminate \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Beim Widerruf wird ein Webhook `v2.orchestrated_commerce.agreement.terminated` an die andere Partei gesendet und die OCA widerrufen. Anschließend kann nur die Partei, die die OCA beendet hat, eine neue Vereinbarung einleiten. ## Produktfeeds aufnehmen Verkäufer/innen werden beim Onboarding an den von Ihnen eingerichteten SFTP Server gesendet. Details zum SFTP-Verzeichnislayout, zu Feedschemata, zur Manifestbehandlung und zur Fehlerberichterstattung finden Sie unter [Aufnahme von SFTP-Katalogen](https://docs.stripe.com/agentic-commerce/product-feed/sftp-catalog-ingestion.md). ### Bezahlvorgang deaktivieren Jedes Produkt im Feed enthält ein Feld `disable_checkout`, das angibt, ob das Produkt den Bezahlvorgang unterstützt: - `false`: Das Produkt unterstützt den Bezahlvorgang. Sie können eine `RequestedSession` erstellen, um den Kauf über Stripe abzuschließen. - `true`: Das Produkt dient ausschließlich der Produktentdeckung. Nehmen Sie es nicht in den Bezahlvorgang auf. Leiten Sie Ihre Kundinnen und Kunden stattdessen auf die Website der Verkäuferin bzw. des Verkäufers weiter, um den Kauf abzuschließen. ## Bezahlvorgänge verwalten Nachdem Sie eine gültige OCA mit der Verkäuferin bzw. dem Verkäufer eingerichtet haben, nutzen Sie die Delegated Checkout API, um: - Anfragen mithilfe von Stripe-Profilen automatisch an den/die richtige/n Verkäufer/in weiterleiten. - Den Lifecycle des Bezahlvorgangs mit dem `RequestedSession`-Objekt zu verwalten. - Fehler von Verkäufer/innen mithilfe der von Stripe definierten Fehlercodes und Meldungen zu bearbeiten. - Shared Payment Tokens (SPTs) automatisch zu erstellen und zu versenden. ### Angeforderte Sitzung erstellen Nachdem eine Kundin/ein Kunde Artikel über Ihre Agentennutzeroberfläche ausgewählt hat, erstellen Sie eine `RequestedSession` mit dem Stripe-Profil der Verkäuferin/des Verkäufers und den Produkten, die die Kundin/der Kunde kaufen möchte. ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d "seller_details[network_profile]=profile_123" \ -d currency=usd \ -d "line_item_details[0][sku_id]={{PRODUCT_SKU}}" \ -d "line_item_details[0][quantity]=1" ``` ### Details der angeforderten Sitzung aktualisieren Aktualisieren Sie eine `RequestedSession`, wenn die Kundin/der Kunde während des Bezahlvorgangs weitere Informationen bereitstellt. #### Menge aktualisieren Wenn eine Kundin/ein Kunde die Postenmenge in Ihrer Agentennutzeroberfläche ändert, aktualisieren Sie die `quantity` in `line_item_details`: ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions/{{SESSION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d "line_item_details[0][key]={{LINE_ITEM_KEY}}" \ -d "line_item_details[0][quantity]=2" ``` #### Versandinformationen hinzufügen Wenn die Kundin/der Kunde eine Ausführungsadresse angibt, aktualisieren Sie bitte die `Adresse` in `fulfillment_details`, um eine Liste der vom Verkäufer/von der Verkäuferin unterstützten Ausführungsoptionen zu erhalten: ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions/{{SESSION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d "fulfillment_details[name]=Jenny Rosen" \ --data-urlencode "fulfillment_details[email]=jenny@example.com" \ -d "fulfillment_details[phone]=5555551234" \ -d "fulfillment_details[address][line1]=123 Main St" \ -d "fulfillment_details[address][city]=San Francisco" \ -d "fulfillment_details[address][state]=CA" \ -d "fulfillment_details[address][postal_code]=94111" \ -d "fulfillment_details[address][country]=US" ``` #### Eine Versandoption auswählen Nachdem Sie die verfügbaren Ausführungsoptionen in Ihrer Agentennutzeroberfläche dargestellt haben und die Kundin/der Kunde eine ausgewählt hat, aktualisieren Sie die `selected_fulfillment_option` in `fulfillment_details`: ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions/{{SESSION_ID}} \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d "fulfillment_details[selected_fulfillment_option][type]=shipping" \ -d "fulfillment_details[selected_fulfillment_option][shipping][shipping_option]={{SHIPPING_OPTION_KEY}}" ``` ### Zahlungsmethode erfassen Erfassen Sie die Zahlungsmethode des Kunden/der Kundin, bevor Sie die `RequestedSession` bestätigen. Verwenden Sie Stripe Elements, um Zahlungsdetails sicher im Web zu erfassen, oder das [mobile SDK](https://docs.stripe.com/agentic-commerce/for-agents.md#mobile-integration) für native Apps. ### Zahlungsmethode mit Elements erfassen Verwenden Sie Stripe Elements, um Zahlungsinformationen zu erfassen und den Bezahlvorgang abzuschließen. Sie können jede der Integrationen einzeln verwenden oder beide kombinieren, um Kundinnen und Kunden mehrere Zahlungsoptionen anzubieten. #### Unterstützte Zahlungsmethoden Die Delegated Checkout API unterstützt die folgenden Zahlungsmethoden: | Zahlungsmethode | Verfügbarkeit | | -------------------------------------------------------------------- | --------------- | | [Karten](https://docs.stripe.com/payments/cards/overview.md) | ✓ Unterstützt 1 | | [Link](https://docs.stripe.com/payments/wallets/link.md) | ✓ Unterstützt | | [Apple Pay](https://docs.stripe.com/apple-pay.md) | ✓ Unterstützt | | [Google Pay](https://docs.stripe.com/google-pay.md) | ✓ Unterstützt | | [Klarna](https://docs.stripe.com/payments/klarna.md) | ✓ Unterstützt | | [Affirm](https://docs.stripe.com/payments/affirm.md) (eingeschränkt) | ✓ Supported 2,3 | 1 In Zusammenarbeit mit den Kartennetzwerken kann Stripe in Ihrem Namen Token verwenden, die im Rahmen von Netzwerkprogrammen wie „Agent Pay“ von Mastercard und „Intelligent Commerce“ von Visa ausgestellt wurden. Stripe übermittelt die angeforderten Daten an die Kartennetzwerke, um diese Token für die entsprechenden Transaktionen bereitzustellen und zu verarbeiten. 2 Ein Agent interagiert möglicherweise nicht programmgesteuert mit der Kreditantragsoberfläche von Affirm in der Webansicht; der/die Käufer/in muss die Person sein, die navigiert und bestätigt. Außerdem kann er/sie den Affirm-Bezahlvorgang nicht in einem Browser auf dem Gerät rendern, über das der Agent keine Navigationskontrolle hat. 3 Wenn ein Agent Affirm an Kundinnen und Kunden vermarktet, muss er die [Marketing-Compliance-Leitfäden](https://docs.affirm.com/developers/docs/compliance_and_guidelines) von Affirm erfüllen und den Affirm-[Leitfaden](https://businesshub.affirm.com/hc/en-us/articles/10653174159636-Affirm-Marketing-Compliance-Guides) verwenden, der sich auf die Affirm-Zahlungsoptionen bezieht, die Sie Ihrer Kundschaft anzeigen. #### Express Checkout Element Verwenden Sie das [Express-Checkout-Element](https://docs.stripe.com/elements/express-checkout-element.md), um Zahlungs- und Versanddaten über Ein-Klick-Zahlungsschaltflächen wie Apple Pay, Google Pay und Link zu erfassen. #### Erstellen Sie das Express Checkout Element Die Delegated Checkout API erfordert vollständige Kundendaten. Sie können diese über das Express Checkout-Element erfassen oder einige Angaben separat in Ihrer eigenen Nutzeroberfläche erfassen: #### HTML + JS ```javascript const expressCheckoutElement = elements.create('expressCheckout', { emailRequired: true, phoneNumberRequired: true, billingAddressRequired: true, shippingAddressRequired: true, }); expressCheckoutElement.mount('#express-checkout-element'); ``` #### React ```jsx import { ExpressCheckoutElement } from '@stripe/react-stripe-js'; const options = { emailRequired: true, phoneNumberRequired: true, billingAddressRequired: true, shippingAddressRequired: true, }; ``` #### Änderungen der Versandadresse bearbeiten Wenn Kundinnen/Kunden eine Versandadresse auswählen, gibt das Ereignis `shippingaddresschange` eine Teiladresse (Stadt, Bundesstaat/Bundesland, Postleitzahl, Land) ohne die Straße an. Diese Angaben reichen aus, um die Versandkosten zu berechnen, bis die Kundin/der Kunde die Zahlung bestätigt. Aktualisieren Sie die `RequestedSession` mit dieser Adresse, um verfügbare Versandkosten abzurufen: #### HTML + JS ```javascript expressCheckoutElement.on('shippingaddresschange', async (event) => { // event.address contains: city, state, postal_code, country (no line1) const { shippingRates, lineItems } = await updateRequestedSessionFulfillmentAddress( sessionId, event.address ); event.resolve({ shippingRates, lineItems }); }); ``` #### React ```jsx { const { shippingRates, lineItems } = await updateRequestedSessionFulfillmentAddress( sessionId, event.address ); event.resolve({ shippingRates, lineItems }); }} /> ``` #### Auswahl der Versandkosten abwickeln Wenn Kundinnen und Kunden eine Versandoption auswählen, aktualisieren Sie die `RequestedSession` mit der ausgewählten Option: #### HTML + JS ```javascript expressCheckoutElement.on('shippingratechange', async (event) => { const { lineItems } = await updateRequestedSessionShippingOption( sessionId, event.shippingRate.id ); event.resolve({ lineItems }); }); ``` #### React ```jsx { const { lineItems } = await updateRequestedSessionShippingOption( sessionId, event.shippingRate.id ); event.resolve({ lineItems }); }} /> ``` #### Bezahlvorgang bestätigen Wenn Kundinnen und Kunden eine Zahlung bestätigen, aktualisieren Sie die `RequestedSession` mit vollständigen Angaben, erstellen Sie eine PaymentMethod und bestätigen Sie: #### HTML + JS ```javascript expressCheckoutElement.on('confirm', async (event) => { await updateFulfillmentDetails(sessionId, { name: event.shippingAddress.name, email: event.billingDetails.email, phone: event.billingDetails.phone, address: event.shippingAddress.address, }); const { paymentMethod } = await stripe.preparePaymentMethod({ elements }); await confirmRequestedSession(sessionId, paymentMethod.id); }); ``` #### React ```jsx { await updateFulfillmentDetails(sessionId, { name: event.shippingAddress.name, email: event.billingDetails.email, phone: event.billingDetails.phone, address: event.shippingAddress.address, }); const { paymentMethod } = await stripe.preparePaymentMethod({ elements }); await confirmRequestedSession(sessionId, paymentMethod.id); }} /> ``` #### Payment Element Verwenden Sie das [Payment Element](https://docs.stripe.com/payments/payment-element.md) mit [Address Element](https://docs.stripe.com/elements/address-element.md) für standardmäßige Gast-Bezahlvorgänge mit manueller Karteneingabe. #### Elements einrichten Die Delegated Checkout API erfordert vollständige Kundendaten. Konfigurieren Sie Ihre Elemente so, dass alle erforderlichen Informationen erfasst werden: | Konfiguration | Grund | | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | | Benutzerdefinierte E-Mail-Eingabe | Die Delegated Checkout API erfordert eine E-Mail-Adresse, das Address Element erfasst diese jedoch nicht | | `fields: { phone: 'always' }` | Die Delegated Checkout API benötigt eine Telefonnummer | | Separates Address Element mit `mode: 'billing'` | Die Delegated Checkout API benötigt eine Rechnungsadresse | | `fields: { billingDetails: 'never' }` für Payment Element | Beziehen Sie stattdessen Abrechnungsdaten aus dem Address Element | #### HTML + JS ```javascript const elements = stripe.elements({ mode: 'payment', }); const shippingAddressElement = elements.create('address', { mode: 'shipping', fields: { phone: 'always' }, validation: { phone: { required: 'always' } }, }); const billingAddressElement = elements.create('address', { mode: 'billing', }); const paymentElement = elements.create('payment', { fields: { billingDetails: 'never' }, }); shippingAddressElement.mount('#shipping-address-element'); billingAddressElement.mount('#billing-address-element'); paymentElement.mount('#payment-element'); ``` #### React ```jsx import { Elements, AddressElement, PaymentElement, } from '@stripe/react-stripe-js'; const options = { mode: 'payment', }; function CheckoutForm() { return ( ); } ``` #### Versanddaten erfassen Wenn Kundinnen und Kunden ihre Versandadresse eingeben, aktualisieren Sie die `RequestedSession`, um verfügbare Versandkosten abzurufen: #### HTML + JS ```javascript shippingAddressElement.on('change', async (event) => { if (event.complete) { const { shippingRates } = await updateRequestedSessionFulfillmentAddress( sessionId, event.value.address ); renderShippingOptions(shippingRates); } }); ``` #### React ```jsx { if (event.complete) { const { shippingRates } = await updateRequestedSessionFulfillmentAddress( sessionId, event.value.address ); setShippingRates(shippingRates); } }} /> ``` #### Auswahl der Versandkosten abwickeln Wenn Kundinnen und Kunden eine Versandoption auswählen, aktualisieren Sie die `RequestedSession`: #### HTML + JS ```javascript async function onShippingOptionSelected(shippingRateId) { const { lineItems } = await updateRequestedSessionShippingOption(sessionId, shippingRateId); renderOrderSummary(lineItems); } ``` #### React ```jsx const handleShippingOptionChange = async (shippingRateId) => { const { lineItems } = await updateRequestedSessionShippingOption(sessionId, shippingRateId); setLineItems(lineItems); }; ``` #### Bezahlvorgang bestätigen Wenn Kundinnen und Kunden eine Zahlung übermittelt, erstellen Sie eine PaymentMethod und bestätigen Sie die `RequestedSession`. #### HTML + JS ```javascript async function handleSubmit() { const billingAddress = await billingAddressElement.getValue(); const { paymentMethod } = await stripe.preparePaymentMethod({ elements, params: { billing_details: { name: billingAddress.value.name, address: billingAddress.value.address, }, }, }); await confirmRequestedSession(sessionId, paymentMethod.id); } ``` #### React ```jsx const handleSubmit = async () => { const billingAddress = await billingAddressRef.current.getValue(); const { paymentMethod } = await stripe.preparePaymentMethod({ elements, params: { billing_details: { name: billingAddress.value.name, address: billingAddress.value.address, }, }, }); await confirmRequestedSession(sessionId, paymentMethod.id); }; ``` ### Integration von Mobilgeräten Befolgen Sie für mobile Integrationen die [Standardanleitung zur Integration von Payment Sheet](https://docs.stripe.com/payments/mobile/accept-payment.md). Spezifische Unterschiede zur Delegated Checkout API treten bei der Initialisierung von Payment Sheet auf: #### Unterstützte Zahlungsmethoden Mobile Integrationen unterstützen die oben aufgeführten Zahlungsmethoden. | Standard-Payment Sheet | Modus „Shared Payment Token“ (SPT) (die Delegated Checkout API) | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Geben Sie unter Verwendung von `Modus` den Zahlungsmodus an. | Geben Sie unter Verwendung von `sharedPaymentTokenSessionWithMode` den `payment`-Modus an. | | Ein Rückruf wird ausgelöst, wenn die Kundin/der Kunde die Bestätigung gibt. Sie erstellen einen `PaymentIntent` auf Ihrem Server und geben sein Client-Geheimnis zurück. | Ein Rückruf wird ausgelöst, wenn die Kundin/der Kunde die Bestätigung gibt. Sie bestätigen die `RequestedSession` auf Ihrem Server mit der `PaymentMethod`-ID. Kein Rückgabewert erforderlich. | | Payment Sheet übernimmt die Zahlungsbestätigung mithilfe des Client-Geheimnisses. | Ihr Server bestätigt die Zahlung, wenn er die `RequestedSession` bestätigt. | #### iOS (Swift) #### SPT-Modus-Konfiguration ```swift @_spi(SharedPaymentToken) import StripePaymentSheet func didTapCheckoutButton() { let intentConfig = PaymentSheet.IntentConfiguration( sharedPaymentTokenSessionWithMode: .payment(amount: 1099, currency: "usd"), sellerDetails: nil, preparePaymentMethodHandler: { paymentMethod, shippingAddress in // Implement confirmRequestedSession to call the Confirm // Requested Session endpoint on your server confirmRequestedSession(paymentMethodId: paymentMethod.stripeId) } ) var configuration = PaymentSheet.Configuration() configuration.merchantDisplayName = "Your App" configuration.returnURL = "your-app://stripe-redirect" let paymentSheet = PaymentSheet(intentConfiguration: intentConfig, configuration: configuration) } ``` #### Android (Kotlin) #### SPT-Modus konfigurieren ```kotlin @OptIn(SharedPaymentTokenSessionPreview::class) fun onCheckoutButtonPressed() { val paymentSheet = PaymentSheet.Builder(::onPaymentSheetResult) .preparePaymentMethodHandler { paymentMethod, shippingAddress -> // Implement confirmRequestedSession to call the Confirm // RequestedSession endpoint on your server. val id = paymentMethod.id ?: error("Payment method ID must not be null") confirmRequestedSession(paymentMethodId = id) } .build(this) paymentSheet.presentWithIntentConfiguration( intentConfiguration = PaymentSheet.IntentConfiguration( sharedPaymentTokenSessionWithMode = PaymentSheet.IntentConfiguration.Mode.Payment( amount = 1099L, currency = "USD", ), sellerDetails = null ), configuration = PaymentSheet.Configuration.Builder(merchantDisplayName = "Your App").build() ) } ``` ### Angeforderte Sitzung bestätigen Nachdem der Kunde/die Kundin die erforderlichen Informationen bereitgestellt hat, bestätigen Sie die `RequestedSession` mit einer `PaymentMethod`: Wenn Sie eine `RequestedSession` bestätigen, erstellt Stripe ein [SPT](https://docs.stripe.com/agentic-commerce/concepts/shared-payment-tokens.md) aus der `PaymentMethod` und gibt Nutzungslimits und Verkäuferdaten vor. Stripe leitet das Token zur Zahlungsabwicklung an den/die Verkäufer/in weiter und Sie müssen den Lifecycle des Tokens nicht verwalten. Sie müssen Risikodetails angeben, wenn Sie eine `RequestedSession` bestätigen. Sie können diese Daten mithilfe einer [RadarSession](https://docs.stripe.com/radar/radar-session.md#create-radar-session) automatisch erfassen oder die Risikosignale direkt in der API übergeben. Stripe verwendet Risikosignale für Radar Modelle und Bewertung. #### Radar-Sitzung ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions/{{SESSION_ID}}/confirm \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d payment_method={{PAYMENT_METHOD_ID}} \ --data-urlencode "return_url=https://example.com/agent-checkout/return" \ -d "risk_details[client_device_metadata_details][radar_session]={{RADAR_SESSION_ID}}" ``` #### Risikosignale ```curl curl https://api.stripe.com/v1/delegated_checkout/requested_sessions/{{SESSION_ID}}/confirm \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d payment_method={{PAYMENT_METHOD_ID}} \ --data-urlencode "return_url=https://example.com/agent-checkout/return" \ --data-urlencode "risk_details[client_device_metadata_details][referrer]=https://example.com" \ -d "risk_details[client_device_metadata_details][remote_ip]=1.2.3.4" \ -d "risk_details[client_device_metadata_details][time_on_page_ms]=1000" \ --data-urlencode "risk_details[client_device_metadata_details][user_agent]=Mozilla/5.0 (Windows NT 10.0; Win64; x64)" ``` ### Nächste Aktion ausführen Wenn Sie eine `RequestedSession` bestätigen, kann es sein, dass der/die Verkäufer/in die Zahlung sofort abschließt oder das zugrunde liegende SPT zu `requires_action` wechselt. Das passiert in der Regel bei Zahlungsmethoden wie Klarna und Affirm und kann vorkommen, wenn Kartenzahlungen eine 3D Secure-Authentifizierung erfordern. Wenn für die Zahlung zusätzliches kundenseitiges Handeln erforderlich ist (z. B. weil die Zahlungsmethode eine Weiterleitung verwendet oder der Kartenaussteller eine 3D Secure-Authentifizierung erfordert), müssen Sie diese Aktion ausführen, da der/die Käufer/in mit Ihrer Schnittstelle interagiert und nicht mit der Verkäuferschnittstelle. Geben Sie eine `return_url an`, wenn Sie die `RequestedSession` bestätigen, und überwachen Sie das Ereignis `shared_payment.issued_token.requires_action`. Sie können auf die `next_action` in der erweiterbaren Eigenschaft `shared_payment_issued_token` der `RequestedSession` zugreifen. Weitere Informationen zur SPT-`next_action` finden Sie unter [Die nächste Aktion ausführen](https://docs.stripe.com/agentic-commerce/concepts/shared-payment-tokens.md?agent-seller=agent#handle-next-actions). Nachdem die Kundin oder der Kunde die erforderliche Aktion ausgeführt hat, sendet Stripe das Ereignis `shared_payment.issued_token.active`, es sei denn, das SPT wurde zuerst deaktiviert. Stripe setzt dann die Verarbeitung des Bezahlvorgangs fort und sendet `delegated_checkout.requested_session.completed`, wenn die Bestellung abgeschlossen ist. #### Bestellinformationen erhalten Wenn für die Zahlung kein zusätzliches kundenseitiges Handeln erforderlich ist oder wenn die Kundin oder der Kunde eine erforderliche nächste Aktion ausgeführt hat, enthält die Antwort Bestellinformationen: ```json { "id": "{{SESSION_ID}}", "status": "completed", "payment_method": "{{PAYMENT_METHOD_ID}}", "shared_payment_issued_token": "{{SHARED_PAYMENT_TOKEN_ID}}", "order_details": { "order_status_url": "https://seller.com/orders/{{ORDER_ID}}" }, // ... } ``` Verwenden Sie `order_status_url`, um Kundinnen und Kunden die Sendungsverfolgung zu ermöglichen. #### Fehlgeschlagene Zahlungen erneut versuchen Bei entsprechender Konfiguration ruft Stripe die API-Endpoints des Verkäufers bzw. der Verkäuferin auf, um Bestandsprüfungen in Echtzeit durchzuführen oder Versandkosten zu ermitteln. Stripe gibt den Statuscode `424` zurück, wenn der API-Endpoint des Verkäufers bzw. der Verkäuferin einen anderen Statuscode als `2xx` zurückgibt. Sie können Zahlungen, die mit dem Statuscode `424` fehlgeschlagen sind, erneut versuchen, sofern es sich um einen vorübergehenden Fehler handelt (z. B. ein Zeitlimit der Verkäufer-API). ### Webhooks überwachen Überwachen Sie Webhook-Ereignisse, um den Lifecycle der `RequestedSession` und alle nachfolgenden SPT-Aktionen zu verfolgen, die der/die Käufer/in zum Abschließen der Zahlung ausführen muss: | Ereignis | Beschreibung | | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | | `delegated_checkout.requested_session.created` | Stripe hat eine neue `RequestedSession` erstellt. | | `delegated_checkout.requested_session.updated` | Stripe hat die Details der `RequestedSession` aktualisiert. | | `delegated_checkout.requested_session.completed` | Stripe hat die Zahlung erfolgreich abgewickelt. | | `delegated_checkout.requested_session.expired` | Die `RequestedSession` ist abgelaufen oder wurde manuell geschlossen. | | `shared_payment.issued_token.requires_action` | Das SPT erfordert käuferseitiges Handeln in Ihrer Nutzeroberfläche, bevor der/die Verkäufer/in die Zahlung abschließen kann. | | `shared_payment.issued_token.active` | Der/die Käufer/in hat die erforderliche Aktion abgeschlossen und das SPT kann den Rest des Bezahlvorgangs durchlaufen. | ## Integration testen Um Ihre Integration zu testen, aktivieren Sie auf der Seite Agentic Commerce im Dashboard **Testverkäufer**. Der Testverkäufer simuliert eine/n echte/n Verkäufer/in, sodass Sie Ihren Bezahlvorgang ohne Live-Verbindung zum/zur Verkäufer/in durchgängig verifizieren können. Nachdem Sie den Testverkäufer aktiviert haben: 1. Nehmen Sie den Testproduktfeed über das SSH File Transfer Protocol (SFTP) auf. 1. Verwenden Sie die Artikel aus dem Produktfeed als `line_item_details`, wenn Sie eine `RequestedSession` mit dem Stripe-Profil der Test-Verkäuferin oder des Test-Verkäufers erstellen. 1. Schließen Sie den vollständigen Bezahlvorgang ab – aktualisieren Sie die Ausführungsdaten, erfassen Sie eine Zahlungsmethode und bestätigen Sie die `RequestedSession` –, um zu überprüfen, ob Ihre Integration wie erwartet funktioniert. # Weiterleitung > This is a Weiterleitung for when agent-checkout-mode is feed-only. View the full page at https://docs.stripe.com/agentic-commerce/for-agents?agent-checkout-mode=feed-only. Nutzen Sie die Weiterleitungsintegration, um Produktkataloge von Verkäuferinnen und Verkäufern über Stripe zu importieren, ohne die Delegated Checkout API zu verwenden. Diese Option ist für Agenten gedacht, die Zugriff auf die Produktdaten der Verkäufer/innen benötigen, den Bezahlvorgang jedoch eigenständig abwickeln möchten. ## Jetzt starten ### Stripe-Konto einrichten [Erstellen Sie ein Stripe-Konto](https://stripe.com/register), falls Sie noch keines haben. Nachdem Sie Ihre E-Mail-Adresse bestätigt haben, aktivieren Sie die Zahlungsfunktion, indem Sie Unternehmensinformationen und persönliche Daten angeben, ein Bankkonto für Auszahlungen verknüpfen und die Zwei-Faktor-Authentifizierung einrichten. ### Agenten-Konfiguration starten Gehen Sie zur Seite [Agentic Commerce](https://dashboard.stripe.com/agentic-commerce) und wählen Sie **Als Agent zum Onboarding einladen** aus, um Ihr Konto als Agent zu konfigurieren. Wenn Sie noch kein [Stripe-Profil](https://docs.stripe.com/get-started/account/profile.md) haben, fordert Stripe Sie auf, eines zu erstellen. ### (Optional) Allgemeine Geschäftsbedingungen und Datenschutzerklärung hochladen Sie können Verkäufer/innen auffordern, Ihre Allgemeinen Geschäftsbedingungen und Datenschutzerklärung zu akzeptieren, bevor sie fortfahren. Laden Sie beim Onboarding für jedes Dokument einen Link hoch. Stripe zeigt Verkäuferinnen und Verkäufern diese Links an, wenn sie eine Vereinbarung eingehen. Dieser Schritt ist optional. ### Annahme von Produktfeeds konfigurieren Richten Sie SSH File Transfer Protocol (SFTP) ein, um Verkäuferproduktfeeds von Stripe aufzunehmen. Sie müssen den Hostnamen, den Port und den Nutzernamen angeben. Stripe generiert ein öffentliches und ein privates Schlüsselpaar, das Sie zu den autorisierten Schlüsseln des Servers hinzufügen. Der öffentliche Schlüssel ist verfügbar, wenn Sie das Agenten-Onboarding im Stripe-Dashboard abschließen. Stripe rotiert den öffentlichen und privaten Schlüssel alle 365 Tage und benachrichtigt die Vertreterin/den Vertreter, wenn es Zeit zum Rotieren ist. Beim Onboarding stellt Stripe Ihnen außerdem einen eindeutigen Challenge-Token zur Verfügung. Sie müssen diesen Token in einer Datei namens `stripe-verification.txt` auf Ihren SFTP Host hochladen. Sobald Stripe das Vorhandensein dieser Datei mit dem erwarteten Token verifiziert hat, beginnt Stripe mit dem Hochladen von Produktkatalogen für Ihre Verkäufer/innen auf Ihren SFTP-Server. ### Verifizierung abschließen Nachdem Sie alle Onboarding-Schritte abgeschlossen haben, wechselt Ihr Konto möglicherweise in den Status „Ausstehend“, während Stripe die letzten Verifizierungsprüfungen durchführt. Stripe fordert Sie möglicherweise auf, eine zusätzliche Identitätsprüfung durchzuführen, auf die Sie in Ihren [Konto-Einstellungen](https://dashboard.stripe.com/settings/account) zugreifen können. Stripe sendet Ihnen eine E-Mail, wenn Ihre Agentenkonfiguration aktiv wird. ## Verkäuferbeziehungen verwalten ### Eine Vereinbarung zum orchestrierten Handel einrichten Nachdem Sie das Agenten-Onboarding abgeschlossen haben, können alle Verkäufer/innen der Agentic Commerce Suite (ACS) Ihren Kontonamen und Ihr Unternehmensprofil im Dashboard finden. Bevor Sie mit einem/einer Verkäufer/in in Kontakt treten können, benötigen Sie eine Vereinbarung über orchestrierten Handel (Orchestrated Commerce Agreement, OCA). Eine OCA ist eine erforderliche Verbindung zwischen Ihrem Agenten und einem/einer Verkäufer/in, die Agentic-Commerce-Abläufe ermöglicht. Nur ein/e Verkäufer/in kann eine OCA-Anfrage initiieren. Nachdem ein/e Verkäufer/in eine OCA angefordert hat, wird der/die Verkäufer/in auf der Agentic-Commerce-Seite im Dashboard angezeigt. Sie können die OCA für diese/n Verkäufer/in genehmigen oder ablehnen. ### Eine Vereinbarung über orchestrierten Handel kündigen Jede Partei kann eine OCA jederzeit kündigen. Nach der Kündigung kann nur die Partei, die die OCA gekündigt hat, eine neue Anfrage stellen. Sie können eine OCA auf der Agentic-Commerce-Seite im Dashboard kündigen. ### Eine OCA mit Webhooks verwalten Konfigurieren Sie Ihren Agenten so, dass er [v2-Webhooks](https://docs.stripe.com/api/v2/core/event_destinations.md) überwacht. Richten Sie ein Ereignisziel ein, um diese Ereignisse zu empfangen: - `v2.orchestrated_commerce.agreement.created` - `v2.orchestrated_commerce.agreement.partially_confirmed` - `v2.orchestrated_commerce.agreement.confirmed` - `v2.orchestrated_commerce.agreement.terminated` #### OCA einrichten Nachdem ein/e Verkäufer/in Ihren Agent im Stripe-Dashboard aktiviert hat, sendet Stripe zwei Webhooks an Ihren Agent: `v2.orchestrated_commerce.agreement.created` und `v2.orchestrated_commerce.agreement.partially_confirmed`. Wenn Sie den Webhook `partially_confirmed` erhalten, rufen Sie die OCA ab, um die Identität der Verkäuferin oder des Verkäufers zu verifizieren, und bestätigen Sie dann Ihre Seite der OCA: ```json // Webhook payload { "id": "evt_123", "object": "v2.core.event", "type": "v2.orchestrated_commerce.agreement.partially_confirmed", "related_object": { "id": "orca_123", "type": "v2.orchestrated_commerce.agreement", "url": "/v2/orchestrated_commerce/agreements/orca_123" } } ``` OCA abrufen, um den/die Verkäufer/in zu verifizieren: ```curl curl https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Sie können auch das Stripe-Profil des Verkäufers/der Verkäuferin abrufen, um weitere Details wie Anzeigename und Branding zu erhalten. ```curl curl https://api.stripe.com/v2/network/profiles/{{SELLER_PROFILE_ID}} \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` OCA bestätigen: ```curl curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/confirm \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Stripe sendet den Webhook `v2.orchestrated_commerce.agreement.confirmed` an den/die Verkäufer/in. Nachdem beide Parteien die OCA bestätigt haben, autorisiert die OCA den Datenzugriff zwischen Ihrem Agenten und dem/der Verkäufer/in. #### OCA kündigen Jede Partei kann eine OCA jederzeit widerrufen: ```curl curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/terminate \ -H "Authorization: Bearer <>" \ -H "Stripe-Version: 2026-04-22.preview" ``` Beim Widerruf wird ein Webhook `v2.orchestrated_commerce.agreement.terminated` an die andere Partei gesendet und die OCA widerrufen. Anschließend kann nur die Partei, die die OCA beendet hat, eine neue Vereinbarung einleiten. ## Produktfeeds aufnehmen Verkäufer/innen werden beim Onboarding an den von Ihnen eingerichteten SFTP Server gesendet. Details zum SFTP-Verzeichnislayout, zu Feedschemata, zur Manifestbehandlung und zur Fehlerberichterstattung finden Sie unter [Aufnahme von SFTP-Katalogen](https://docs.stripe.com/agentic-commerce/product-feed/sftp-catalog-ingestion.md). ## Integration testen Um Ihre Integration zu testen, aktivieren Sie **Testverkäufer/in** auf der Agentic-Commerce-Seite im Dashboard. Die Testverkäuferin bzw.der Testverkäufer simuliert eine/n echte/n Verkäufer/in, sodass Sie die Einbindung Ihres Feeds ohne eine Live-Verbindung zu einer/einem Verkäufer/in überprüfen können. Nachdem Sie den Testverkäufer aktiviert haben: 1. Nehmen Sie den Testproduktfeed über das SSH File Transfer Protocol (SFTP) auf. 1. Vergewissern Sie sich, dass die Produktdaten auf Ihrem SFTP-Server eintreffen und mit der erwarteten [Feldreferenzstruktur des Produktfeeds](https://docs.stripe.com/agentic-commerce/product-feed.md#product-feed-field-reference) übereinstimmen.