Weiter zum Inhalt
Konto erstellen oder anmelden
Das Logo der Stripe-Dokumentation
/
KI fragen
Konto erstellenAnmelden
Jetzt starten
Zahlungen
Umsatz
Plattformen und Marktplätze
Geldmanagement
Entwicklerressourcen
APIs und SDKsHilfe
ÜbersichtZahlung annehmenAktualisieren Sie Ihre Integration
Online-Zahlungen
ÜbersichtIhren Use case finden
Payment Links verwenden
Vorgefertigte Checkout-Seite verwenden
Erstellen Sie eine benutzerdefinierte Integration mit Elements
In-App-Integration erstellen
Verwenden Sie Managed Payments
Wiederkehrende Zahlungen
Präsenzzahlungen
Terminal
Zahlungsmethoden
Zahlungsmethoden hinzufügen
Zahlungsmethoden verwalten
Schnellerer Bezahlvorgang mit Link
Zahlungsvorgänge
Analytik
Salden und Abwicklungsdauer
Compliance und Sicherheit
Währungen
Abgelehnte Zahlungen
Anfechtungen
Betrugsprävention
Betrugsprävention von Radar
Auszahlungen
ZahlungsbelegeRückerstattungen und Stornierungen
Erweiterte Integrationen
Nutzerdefinierte Zahlungsabläufe
Flexibles Acquiring
Off-Session-Zahlungen
Multiprozessor-Orchestrierung
Mehr als Zahlungen
Unternehmensgründung
Krypto
Agentenbasierter Handel
    Übersicht
    Wichtige Konzepte
    Monetarisieren Sie Ihre MCP-App
      Zahlung annehmen
    Aktivieren Sie kontextbezogene Verkäufe auf KI-Agenten
Maschinelle Zahlungen
Financial Connections
Climate
Identitäten verifizieren
Vereinigte Staaten
Deutsch
StartseiteZahlungenAgentic commerceMonetize your MCP app

Zahlung akzeptieren

Zahlungen sicher akzeptieren mit Ihrer MCP-App.

Sie können Zahlungen außerhalb Ihrer App mit einer vorgefertigten, von Stripe gehosteten Checkout-Seite einziehen. Dieser Leitfaden zeigt, wie:

  • Definieren von Model Context Protocol (MCP)-Tools, um Produkte anzuzeigen und Kundinnen und Kunden die Auswahl der zu kaufenden Posten zu ermöglichen
  • Zahlungen mit einer vorgefertigten, von Stripe gehosteten Checkout-Seite einziehen
  • Überwachen Sie nach erfolgreicher Zahlung die Webhooks

Stripe einrichten

Um Stripe einzurichten, fügen Sie Ihrem Backend die Stripe-API hinzu.

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Produkte und Preise erstellen

In diesem Beispiel können Sie eine Gruppe von Produkten in der MCP-App anzeigen. Erfahren Sie, wie man Produkte und Preise im Dashboard oder mit der Stripe-CLI erstellt.

Registrieren Sie ein Checkout MCP-Tool

Registrieren Sie ein MCP-Tool, das eine Checkout-Session für einen Satz an Preisen erstellt. Sie rufen dieses Tool in einem späteren Schritt über die MCP-App auf.

server.js
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { registerAppTool, registerAppResource, RESOURCE_MIME_TYPE, } from "@modelcontextprotocol/ext-apps/server"; import { readFileSync } from "node:fs"; import Stripe from "stripe"; import { z } from "zod"; const stripe = new Stripe(
"sk_test_BQokikJOvBiI2HlWgH4olfQ2"
) const server = new McpServer({ name: "my-mcp-server", version: "1.0.0" }); const resourceUri = "ui://list-products.html"; async function createCheckoutSession(priceIds) { const lineItems = priceIds.map((price) => ({ price, quantity: 1 })); const session = await stripe.checkout.sessions.create({ mode: "payment", line_items: lineItems, success_url: "https://example.com/checkout/success", }); return session; } // Register the tool that creates a checkout session server.registerTool( "buy-products", { title: "Buy products", description: "Create a checkout page link for purchasing the selected products", inputSchema: { priceIds: z.array(z.string()) }, }, async ({ priceIds }) => { const session = await createCheckoutSession(priceIds); return { content: [ { type: "text", text: `[Complete your purchase here](${session.url})`, }, ], structuredContent: { checkoutSessionId: session.id, checkoutSessionUrl: session.url, }, }; } );

Registrieren Sie ein Tool für die Nutzeroberfläche und eine Ressource

Richten Sie die Nutzeroberfläche für Ihre MCP-App ein, indem Sie ein MCP-Tool und eine Ressource registrieren. Diese Nutzeroberfläche:

  1. Eine Produktliste wird angezeigt
  2. Ermöglicht der Kundin/dem Kunden die Auswahl der zu kaufenden Produkte
  3. Weiterleitung an Stripe Checkout, um die Zahlung abzuschließen

Registrieren Sie ein MCP-Tool zum Auflisten von Produkten

Erstellen Sie ein MCP-Tool zum Auflisten von Produkten. Dessen Rückruf gibt die Preis-IDs der Produkte zurück, die Sie in der Nutzeroberfläche anzeigen möchten.

server.js
registerAppTool( server, "list-products", { title: "List products", description: "List the products available for purchase", _meta: { ui: { resourceUri } }, }, async () => { const suggestedProducts = [ // The price IDs from the earlier step { priceId:
"{{PRICE_ID}}"
, name: "Test product 1" }, { priceId:
"{{PRICE_ID}}"
, name: "Test product 2" }, ]; return { structuredContent: { products: suggestedProducts }, content: [], }; } );

Registrieren Sie eine UI-Ressource zum Auflisten von Produkten

Erstellen Sie eine MCP-Ressource für das Produktlisten-Widget. Sie definiert die Nutzeroberfläche, die die Produkte anzeigt.

server.js
// Register the resource that serves the bundled HTML registerAppResource( server, "list-products-widget", resourceUri, { mimeType: RESOURCE_MIME_TYPE }, async () => { const html = readFileSync("dist/ui/list-products.html", "utf8"); return { contents: [ { uri: resourceUri, mimeType: RESOURCE_MIME_TYPE, text: html, }, ], }; } );

In diesem Beispiel wird eine minimale Transaktionsgebühr verwendet. In einer Produktions-App können Sie ein Framework wie React verwenden. Weitere Beispiele finden Sie in der Dokumentation für MCP-Apps.

ui/list-products.html
<div id="root"></div> <script type="module" src="/ui/mcp-app.js"></script>
ui/mcp-app.js
import { App } from "@modelcontextprotocol/ext-apps"; const app = new App({ name: "ProductList", version: "1.0.0" }); // Establish communication with the host await app.connect(); /** * UI markup and event handlers */ const renderProduct = (product) => { return ` <label> <input type="checkbox" name="cart[]" value="${product.priceId}"> ${product.name} </label> `; }; const handleSubmit = async (event) => { // We'll fill this in next } const renderApp = (products) => { const root = document.querySelector("#root"); root.innerHTML = ` <h1>Select products to purchase</h1> <form id="product-form"> ${products.map(renderProduct).join("")} <button type="submit">Buy</button> </form> `; document .querySelector("#product-form") ?.addEventListener("submit", handleSubmit); }; /** * Render the list of products from the tool's structuredContent */ app.ontoolresult = (params) => { const { products } = params.structuredContent ?? {}; if (products) { renderApp(products); } };

Weiterleiten zu Checkout

Wenn die Kundin/der Kunde in der MCP-App auf Kaufen klickt:

  1. Rufen Sie das von Ihnen erstellte Tool auf, das ein Produkt kauft, um eine Checkout-Sitzung-URL zu erstellen.
  2. Öffnen Sie die URL der Checkout-Session.

Aktualisieren Sie die HandleSubmit-Funktion:

ui/mcp-app.js
const handleSubmit = async (event) => { event.preventDefault(); const formData = new FormData(event.target); const priceIds = Array.from(formData.values()); // Call the buy-products tool to create a Checkout Session const { structuredContent } = await app.callServerTool({ name: "buy-products", arguments: { priceIds }, }); if (typeof structuredContent?.checkoutSessionUrl === "string") { await app.openLink({ url: structuredContent.checkoutSessionUrl }); } };

Bearbeiten Sie erfolgreiche Aufträge

Sie können erfolgreiche Bestellungen verarbeiten, indem Sie checkout.session.completed (und checkout.session.async_payment_succeeded bei verzögerten Methoden) überwachen und eine gleichwertige Ausführung aufrufen, die die Checkout-Sitzung abruft (line_items erweitern), den payment_status verifiziert und die Posten ausführt.

Verwenden Sie eine success_url-Landing Page, um die Ausführung unmittelbar nach der Weiterleitung auszulösen. Verlassen Sie sich jedoch auf Webhooks, um sicherzustellen, dass jede Zahlung ausgeführt wird.

Anschließend können Sie lokal mit der Stripe-CLI testen und Ihren Webhook-Endpoint bereitstellen.

Erfahren Sie mehr darüber, wie Sie mit der Checkout Sessions API erhaltene Zahlungen abwickeln.

Siehe auch

  • Steuern einziehen
  • Erfassen von Versand- und sonstigen Kundeninformationen
  • Branding anpassen
  • Anpassen Ihrer Bestätigungsseite
War diese Seite hilfreich?
JaNein
  • Benötigen Sie Hilfe? Kontaktieren Sie den Kundensupport.
  • Schauen Sie sich unser Änderungsprotokoll an.
  • Fragen? Sales-Team kontaktieren.
  • LLM? Lesen Sie llms.txt.
  • Unterstützt von Markdoc