PayPal

offiziell

Der PayPal Model Context Protocol Server ermöglicht die Integration mit PayPal-APIs durch Funktionsaufrufe. Dieses Protokoll unterstützt verschiedene Werkzeuge zur Interaktion mit unterschiedlichen PayPal-Diensten.

Was kann man mit PayPal MCP machen?

  • Rechnungen erstellen und senden — Bitte um den Entwurf einer Rechnung mit Positionen und sende sie oder plane eine Erinnerung über create_invoice und send_invoice.
  • Zahlungen und Rückerstattungen verwalten — Erstelle eine Bestellung, erfasse eine Zahlung oder veranlasse eine Rückerstattung für eine erfasste Zahlung mit create_order und create_refund.
  • Streitfälle bearbeiten — Liste offene Streitfälle auf, zeige Details an oder akzeptiere einen Anspruch direkt über list_disputes und accept_dispute_claim.
  • Sendungen verfolgen — Erstelle einen Tracking-Datensatz für eine Bestellung und rufe dessen Status mit create_shipment_tracking und get_shipment_tracking ab.
  • Abonnements verwalten — Richte einen Abonnementplan ein, erstelle ein Abonnement oder kündige ein aktives über create_subscription_plan und cancel_subscription.
  • Händler-Einblicke abrufen — Rufe Transaktionsverlauf oder Geschäftsanalysen mit list_transactions und get_merchant_insights ab.

Gehosteter MCP-Server

npx add-mcp 'https://mcp.paypal.com/mcp'

Installiert in Claude Code, Codex, Cursor und mehr

Dokumentation

PayPal Agent Toolkit

Das PayPal Agent Toolkit ermöglicht es gängigen Agent-Frameworks wie dem OpenAI Agent SDK, LangChain, dem Vercel AI SDK und dem Model Context Protocol (MCP), über Funktionsaufrufe in PayPal-APIs zu integrieren. Es unterstützt TypeScript und basiert auf den PayPal-APIs und den PayPal-SDKs.

Verfügbare Tools

Das PayPal Agent Toolkit stellt die folgenden Tools bereit:

Rechnungen

  • create_invoice: Erstellt eine neue Rechnung im PayPal-System, einschließlich Empfänger-Rechnungsdaten, Positionen, einem Rechnungshinweis, einem benutzerdefinierten Farbthema, optionalen Versandkosten und einer Option zur Aktivierung von PAY_BY_BANK als Zahlungsmethode

  • list_invoices: Listet Rechnungen mit optionaler Paginierung und Filterung auf

  • get_invoice: Ruft Details einer bestimmten Rechnung ab

  • send_invoice: Sendet eine Rechnung an Empfänger

  • send_invoice_reminder: Sendet eine Erinnerung für eine bestehende Rechnung

  • cancel_sent_invoice: Storniert eine gesendete Rechnung

  • generate_invoice_qr_code: Generiert einen QR-Code für eine Rechnung

  • delete_invoice: Löscht dauerhaft einen Rechnungsentwurf oder eine geplante Rechnung

  • generate_invoice_number: Generiert die nächste verfügbare Rechnungsnummer für den Händler

  • search_invoicing: Sucht nach Rechnungen oder Serienrechnungen

  • update_invoicing: Aktualisiert eine bestehende Rechnung oder Serienrechnung (vollständige Ersetzung)

  • cancel_invoice_auto_reminder: Storniert alle geplanten automatischen Erinnerungen für eine Rechnung

  • record_payment_for_invoice: Erfasst eine externe oder manuelle Zahlung für eine Rechnung

  • record_refund_for_invoice: Erfasst eine Rückerstattung für eine Rechnung

  • create_conditional_rules_for_invoice: Erstellt Bedingungsregeln für eine Rechnung, wie z. B. einen Frühzahlungsrabatt oder ein automatisches Stornierungsdatum

  • create_recurring_series: Erstellt eine Serienrechnung, die automatisch Rechnungen nach einem Zeitplan generiert und sendet

  • activate_recurring_series: Aktiviert eine Serienrechnung im Entwurfsstatus

  • get_recurring_series: Ruft Details einer bestimmten Serienrechnung ab

  • cancel_recurring_series: Storniert eine aktive Serienrechnung

  • delete_recurring_series: Löscht eine Serienrechnung im Entwurfsstatus

Zahlungen

  • create_order: Erstellt eine Bestellung im PayPal-System basierend auf den angegebenen Details
  • get_order: Ruft die Details einer Bestellung ab
  • pay_order: Verarbeitet die Zahlung für eine autorisierte Bestellung
  • create_refund: Verarbeitet eine Rückerstattung für eine erfasste Zahlung
  • get_refund: Ruft die Details einer bestimmten Rückerstattung ab

Streitfallmanagement

  • list_disputes: Ruft eine Zusammenfassung aller offenen Streitfälle ab
  • get_dispute: Ruft detaillierte Informationen zu einem bestimmten Streitfall ab
  • accept_dispute_claim: Akzeptiert einen Streitfallanspruch

Sendungsverfolgung

  • create_shipment_tracking: Erstellt einen Sendungsverfolgungsdatensatz
  • get_shipment_tracking: Ruft Sendungsverfolgungsinformationen ab
  • update_shipment_tracking: Aktualisiert Sendungsverfolgungsinformationen

Katalogverwaltung

  • create_product: Erstellt ein neues Produkt im PayPal-Katalog
  • list_products: Listet Produkte mit optionaler Paginierung und Filterung auf
  • show_product_details: Ruft Details eines bestimmten Produkts ab

Abonnementverwaltung

  • create_subscription_plan: Erstellt einen neuen Abonnementplan
  • list_subscription_plans: Listet Abonnementpläne auf
  • show_subscription_plan_details: Ruft Details eines bestimmten Abonnementplans ab
  • create_subscription: Erstellt ein neues Abonnement
  • show_subscription_details: Ruft Details eines bestimmten Abonnements ab
  • update_subscription: Aktualisiert ein bestehendes Abonnement
  • cancel_subscription: Storniert ein aktives Abonnement

Berichte und Einblicke

  • list_transactions: Listet Transaktionen mit optionaler Paginierung und Filterung auf
  • get_merchant_insights: Ruft Business-Intelligence-Kennzahlen und Analysen für einen Händler ab

TypeScript

Installation

Sie benötigen diesen Quellcode nicht, es sei denn, Sie möchten das Paket ändern. Wenn Sie das Paket nur verwenden möchten, führen Sie Folgendes aus:

npm install @paypal/agent-toolkit

Anforderungen

  • Node 18+

Verwendung

Die Bibliothek muss mit der Client-ID und dem Client-Secret Ihres Kontos konfiguriert werden, die in Ihrem PayPal Developer Dashboard verfügbar sind.

Das Toolkit funktioniert mit dem Vercel AI SDK und kann als Liste von Tools übergeben werden. Weitere Details finden Sie in unseren Beispielen

import { PayPalAgentToolkit } from '@paypal/agent-toolkit/ai-sdk';
const paypalToolkit = new PayPalAgentToolkit({
  clientId: process.env.PAYPAL_CLIENT_ID,
  clientSecret: process.env.PAYPAL_CLIENT_SECRET,
  configuration: {
    actions: {
      invoices: {
        create: true,
        createRecurringSeries: true,
        list: true,
        send: true,
        sendReminder: true,
        cancel: true,
        delete: true,
        generateQRC: true,
        generateInvoiceNumber: true,
        search: true,
        update: true,
        cancelReminders: true,
        recordPayment: true,
        recordRefund: true,
        createConditionalRules: true,
      },
      products: { create: true, list: true, update: true },
      subscriptionPlans: { create: true, list: true, show: true },
      shipment: { create: true, show: true, cancel: true },
      orders: { create: true, get: true },
      disputes: { list: true, get: true },
    },
  },
});

Um den Sandbox-Modus zu verwenden, fügen Sie Kontext in Ihre Konfiguration ein.

configuration: {
  context: {
    sandbox: true,
  }
}

Initialisieren der Workflows

import { PayPalWorkflows, ALL_TOOLS_ENABLED } from '@paypal/agent-toolkit/ai-sdk';
const paypalWorkflows = new PayPalWorkflows({
  clientId: process.env.PAYPAL_CLIENT_ID,
  clientSecret: process.env.PAYPAL_CLIENT_SECRET,
  configuration: {
    actions: ALL_TOOLS_ENABLED,
  },
});

Verwendung

Verwenden des Toolkits

const llm: LanguageModelV1 = getModel(); // The model to be used with ai-sdk
const { text: response } = await generateText({
  model: llm,
  tools: paypalToolkit.getTools(),
  maxSteps: 10,
  prompt: `Create an order for $50 for custom handcrafted item and get the payment link.`,
});

Umgebungsvariablen

Die folgenden Umgebungsvariablen können verwendet werden:

  • PAYPAL_ACCESS_TOKEN: Ihr PayPal-Zugriffstoken
  • PAYPAL_ENVIRONMENT: Setzen Sie SANDBOX für den Sandbox-Modus, PRODUCTION für die Produktion (Standard ist der SANDBOX-Modus)

Diese Anleitung erklärt, wie Sie ein Zugriffstoken für die PayPal-API-Integration generieren, einschließlich der Suche nach Ihrer Client-ID und Ihrem Client-Secret.

Voraussetzungen

  • PayPal-Entwicklerkonto (für Sandbox)
  • PayPal-Geschäftskonto (für die Produktion)

So finden Sie Ihre Client-ID und Ihr Client-Secret

  1. Erstellen Sie ein PayPal-Entwicklerkonto:

  2. Greifen Sie auf Ihre Anmeldedaten zu:

    • Klicken Sie im Entwickler-Dashboard im Menü auf Apps & Anmeldedaten
    • Wechseln Sie je nach Bedarf zwischen den Modi Sandbox und Live
  3. Erstellen oder Anzeigen einer App:

    • Klicken Sie zum Erstellen einer neuen App auf App erstellen
    • Geben Sie Ihrer App einen Namen und wählen Sie ein Geschäftskonto aus, das Sie damit verknüpfen möchten
    • Klicken Sie für bestehende Apps auf den App-Namen, um Details anzuzeigen
  4. Anmeldedaten abrufen:

    • Sobald Ihre App erstellt oder ausgewählt ist, sehen Sie einen Bildschirm mit Ihren:
      • Client-ID: Ein öffentlicher Bezeichner für Ihre App
      • Client-Secret: Ein privater Schlüssel (wird nach Klicken auf „Anzeigen" angezeigt)
    • Speichern Sie diese Anmeldedaten sicher, da sie zum Generieren von Zugriffstokens erforderlich sind

Generieren eines Zugriffstokens

Mit cURL

curl -v https://api-m.sandbox.paypal.com/v1/oauth2/token \\
  -H \"Accept: application/json\" \\
  -H \"Accept-Language: en_US\" \\
  -u \"CLIENT_ID:CLIENT_SECRET\" \\
  -d \"grant_type=client_credentials\"

Ersetzen Sie CLIENT_ID und CLIENT_SECRET durch Ihre tatsächlichen Anmeldedaten. Verwenden Sie für die Produktion https://api-m.paypal.com anstelle der Sandbox-URL.

Mit Postman

  1. Erstellen Sie eine neue Anfrage an https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. Setzen Sie die Methode auf POST
  3. Wählen Sie unter Autorisierung die Option Basic Auth und geben Sie Ihre Client-ID und Ihr Client-Secret ein
  4. Wählen Sie unter Body die Option x-www-form-urlencoded und fügen Sie einen Schlüssel grant_type mit dem Wert client_credentials hinzu
  5. Senden Sie die Anfrage

Antwort

Eine erfolgreiche Antwort sieht wie folgt aus:

{
  "scope": "...",
  "access_token": "Your Access Token",
  "token_type": "Bearer",
  "app_id": "APP-80W284485P519543T",
  "expires_in": 32400,
  "nonce": "..."
}

Kopieren Sie den Wert von access_token für die Verwendung in Ihrer Claude-Desktop-Integration.

Tokendetails

  • Sandbox-Tokens: Gültig für 3-8 Stunden
  • Produktionstokens: Gültig für 8 Stunden
  • Es wird empfohlen, eine Token-Aktualisierungslogik vor Ablauf zu implementieren

Verwenden des Tokens mit Claude Desktop

Sobald Sie Ihr Zugriffstoken haben, aktualisieren Sie den Wert von PAYPAL_ACCESS_TOKEN in Ihrer Claude-Desktop-Connector-Konfiguration:

{
  "env": {
    "PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
    "PAYPAL_ENVIRONMENT": "SANDBOX"
  }
}

Best Practices

  1. Speichern Sie Client-ID und Client-Secret sicher
  2. Implementieren Sie eine Token-Aktualisierungslogik, um den Token-Ablauf zu behandeln
  3. Verwenden Sie umgebungsspezifische Tokens (Sandbox für Tests, Produktion für echte Transaktionen)
  4. Vermeiden Sie das Hartcodieren von Tokens im Anwendungscode

Haftungsausschluss

KI-generierte Inhalte können ungenau oder unvollständig sein. Benutzer sind dafür verantwortlich, Informationen vor der Verwendung unabhängig zu überprüfen. PayPal übernimmt keine Garantie für die Genauigkeit der Ausgaben und haftet nicht für Entscheidungen, Handlungen oder Konsequenzen, die sich aus deren Verwendung ergeben.