Boîte à outils PayPal pour les agents

Le PayPal Agent Toolkit permet aux frameworks d'agents les plus populaires, notamment OpenAI's Agent SDK, LangChain, Vercel's AI SDK et Model Context Protocol (MCP), de s'intégrer aux API de PayPal par le biais d'appels de fonctions. Il prend en charge TypeScript et s'appuie sur les API PayPal et les SDK PayPal.

Outils disponibles

La boîte à outils de l'Agent PayPal fournit les outils suivants :

Factures

  • create_invoice: Créer une nouvelle facture dans le système PayPal
  • list_invoices: Liste des factures avec pagination et filtrage optionnels
  • get_invoice: Récupérer les détails d'une facture spécifique
  • send_invoice: envoi d'une facture aux destinataires
  • send_invoice_reminder: Envoyer un rappel pour une facture existante
  • cancel_sent_invoice: Annuler une facture envoyée
  • generate_invoice_qr_code: Générer un code QR pour une facture

Paiements

  • create_order: Créer une commande dans le système PayPal sur la base des informations fournies
  • get_order: Récupérer les détails d'une commande
  • pay_order: Traite le paiement d'une commande autorisée
  • create_refund: Traite le remboursement d'un paiement saisi.
  • get_refund: Obtenir les détails d'un remboursement spécifique.

Gestion des litiges

  • list_disputes: Récupère un résumé de tous les litiges en cours
  • get_dispute: Récupérer les informations détaillées d'un litige spécifique
  • accept_dispute_claim: Accepter une réclamation de litige

Suivi des envois

  • create_shipment_tracking: Créer un enregistrement de suivi d'expédition
  • get_shipment_tracking: Récupérer les informations de suivi d'un envoi

Gestion du catalogue

  • create_product: Créer un nouveau produit dans le catalogue PayPal
  • list_products: Liste des produits avec pagination et filtrage facultatifs
  • show_product_details: Récupérer les détails d'un produit spécifique

Gestion des abonnements

  • create_subscription_plan: Créer un nouveau plan d'abonnement
  • list_subscription_plans: Liste des plans d'abonnement
  • show_subscription_plan_details: Récupérer les détails d'un plan d'abonnement spécifique
  • create_subscription: Créer un nouvel abonnement
  • show_subscription_details: Récupérer les détails d'un abonnement spécifique
  • update_subscription: mettre à jour un abonnement existant
  • cancel_subscription: Annuler un abonnement actif

Rapports et aperçus

  • list_transactions: Liste des transactions avec pagination et filtrage optionnels

TypeScript

Installation

Vous n'avez pas besoin de ce code source à moins que vous ne vouliez modifier le paquet. Si vous voulez juste utiliser le package, lancez :

npm install @paypal/agent-toolkit

Exigences

  • Node 18+

Utilisation

La bibliothèque doit être configurée avec l'identifiant et le secret de votre compte, disponibles dans votre tableau de bord PayPal.

Le toolkit fonctionne avec le SDK AI de Vercel et peut être transmis comme une liste d'outils. Pour plus de détails, consultez nos exemples

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, list : true, send : true, sendReminder : true, cancel : true, generateQRC : 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 }, }, }, })

Pour utiliser le mode bac à sable, ajoutez le contexte dans votre configuration.

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

Initialisation des flux de travail

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, }, })

Utilisation

Utilisation de la boîte à outils

const llm : LanguageModelV1 = getModel() ; // Le modèle à utiliser avec ai-sdk const { text : response } = await generateText({ model : llm, tools : paypalToolkit.getTools(), maxSteps : 10, prompt : `Créer une commande de 50 $ pour un objet artisanal personnalisé et obtenir le lien de paiement.`, })

Protocole de contexte de modèle PayPal

Le serveur PayPal Model Con text Protocol vous permet d'intégrer les API de PayPal par le biais d'appels de fonctions. Ce protocole prend en charge divers outils permettant d'interagir avec différents services PayPal.

Exécution de l'inspecteur MCP

Pour exécuter le serveur MCP de PayPal à l'aide de npx, utilisez la commande suivante :

npx -y @paypal/mcp --tools=all PAYPAL_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" PAYPAL_ENVIRONMENT="SANDBOX"

Remplacez YOUR_ACCESS_TOKEN par le jeton d'accès actif généré en suivant ces étapes : Jeton d'accès PayPal. Vous pouvez également définir le PAYPAL_ACCESS_TOKEN dans vos variables d'environnement.

Serveur MCP personnalisé

Vous pouvez mettre en place votre propre serveur MCP. En voici un exemple :

import { PayPalAgentToolkit } from "@paypal/agent-toolkit/modelcontextprotocol" ; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js" ; const orderSummary = await paypalWorkflows.generateOrder( llm, transactionInfo, merchantInfo, ) ; const server = new PayPalAgentToolkit({ accessToken : process.env.PAYPAL_ACCESS_TOKEN }) ; async function main() { const transport = new StdioServerTransport() ; await server.connect(transport) ; console.error("PayPal MCP Server running on stdio") ; } main().catch((error) => { console.error("Fatal error in main() :", error) ; process.exit(1) ; })

Utilisation avec un hôte MCP (Claude Desktop/Cline/Cursor/Github Co-Pilot)

Ce guide explique comment intégrer le connecteur PayPal avec Claude Desktop.

Conditions préalables

  • L'application Claude Desktop est installée
  • installation locale de Node.js

Etapes de l'installation

1. Installer Node.js

Node.js est nécessaire pour que le connecteur PayPal fonctionne :

  1. Visitez le site officiel de Node.js, téléchargez-le et installez-le.
  2. Exigences : Node 18+

2. Configurer le connecteur PayPal avec l'hôte MCP (Claude desktop / Cursor / Cline)

Nous allons montrer l'intégration avec Claude desktop. Vous pouvez utiliser votre hôte MCP préféré.

  1. Ouvrez Claude Desktop
  2. Naviguez vers Paramètres
  3. Trouvez la section Développeur ou Paramètres avancés
  4. Localisez la zone de configuration des outils externes ou des connecteurs
  5. Ajoutez la configuration suivante du connecteur PayPal à ce fichier ~/Claude/claude_desktop_config.json :
{ "mcpServers" : { "paypal" : {"command" : "npx", "args" : [ "-y", "@paypal/mcp", "--tools=all" ], "env" : { "PAYPAL_ACCESS_TOKEN" : "YOUR_PAYPAL_ACCESS_TOKEN", "PAYPAL_ENVIRONMENT" : "SANDBOX" } } }

Veillez à remplacer YOUR_PAYPAL_ACCESS_TOKEN par votre véritable jeton d'accès PayPal. Vous pouvez également définir PAYPAL_ACCESS_TOKEN comme une variable d'environnement. Vous pouvez également le passer en argument en utilisant --access-token dans "args". Définissez la valeur de PAYPAL_ENVIRONMENT comme étant SANDBOX pour les phases de test et PRODUCTION pour l'environnement de production.

  1. Sauvegardez vos changements de configuration

3. Tester l'intégration

  1. Quittez et redémarrez Claude Desktop pour appliquer les changements
  2. Testez la connexion en demandant à Claude d'effectuer une tâche liée à PayPal
    • Exemple : "Liste de mes factures PayPal"

Variables d'environnement

Les variables d'environnement suivantes peuvent être utilisées :

  • PAYPAL_ACCESS_TOKEN: Votre jeton d'accès à PayPal
  • PAYPAL_ENVIRONMENT: SANDBOX pour le mode bac à sable, PRODUCTION pour la production (mode SANDBOX par défaut)

Ce guide explique comment générer un jeton d'accès pour l'intégration de l'API PayPal, y compris comment trouver votre ID client et votre secret client.

Conditions préalables

  • Compte PayPal Developer (pour l'Environnement de test)
  • Compte PayPal Business (pour la production)

Recherche de l'identifiant et du secret du client

  1. Créez un compte développeur PayPal:

  2. Accédez à vos informations d'identification:

    • Dans le tableau de bord du développeur, cliquez sur Apps & Credentials dans le menu
    • Basculez entre les modes Sandbox et Live en fonction de vos besoins
  3. Créez ou visualisez une application:

    • Pour créer une nouvelle application, cliquez sur Créer une application
    • Donnez un nom à votre application et sélectionnez un compte professionnel à lui associer
    • Pour les applications existantes, cliquez sur le nom de l'application pour en afficher les détails
  4. Récupérer les informations d'identification:

    • Une fois votre application créée ou sélectionnée, vous verrez un écran avec votre
      • Client ID: Un identifiant public pour votre application
      • Secret du client: clé privée (affichée après avoir cliqué sur "Afficher")
    • Sauvegardez ces informations d'identification en toute sécurité, car elles sont nécessaires pour générer des jetons d'accès

Générer un jeton d'accès

Utilisation de cURL

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

Remplacez CLIENT_ID et CLIENT_SECRET par vos identifiants réels. Pour la production, utilisez https://api-m.paypal.com au lieu de l'URL du bac à sable.

Utilisation de Postman

  1. Créez une nouvelle requête vers https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. Définissez la méthode sur POST
  3. Sous Autorisation, sélectionnez Auth de base et entrez votre ID de client et votre secret de client
  4. Sous Body, sélectionnez x-www-form-urlencoded et ajoutez une clé grant_type avec la valeur client_credentials
  5. Envoyer la requête

Réponse

Une réponse réussie ressemblera à ce qui suit :

{"scope" : "...", "access_token" : "Votre jeton d'accès", "token_type" : "Bearer", "app_id" : "APP-80W284485P519543T", "expires_in" : 32400, "nonce" : "..." }

Copiez la valeur de l'access_token pour l'utiliser dans votre intégration Claude Desktop.

Détails du jeton

  • Jetons "bac à sable" : Valable pour 3-8 heures
  • Jetons de production: Valable pendant 8 heures
  • Il est recommandé de mettre en place une logique de rafraîchissement du jeton avant son expiration

Utilisation du jeton avec Claude Desktop

Une fois que vous avez votre jeton d'accès, mettez à jour la valeur PAYPAL_ACCESS_TOKEN dans la configuration de votre connecteur Claude Desktop :

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

Bonnes pratiques

  1. Stocker l'identifiant et le secret du client en toute sécurité
  2. Mettre en œuvre une logique de rafraîchissement du jeton pour gérer l'expiration du jeton
  3. Utiliser des jetons spécifiques à l'environnement (bac à sable pour les tests, production pour les transactions réelles)
  4. Éviter de coder les jetons en dur dans le code de l'application

Avis de non-responsabilité

Le contenu généré par l'IA peut être inexact ou incomplet. Il incombe aux utilisateurs de vérifier indépendamment toute information avant de s'y fier. PayPal ne garantit pas l'exactitude des résultats et n'est pas responsable des décisions, actions ou conséquences résultant de leur utilisation.

Liés dans Service en nuage - MCP Servers sécurisés

ServeurRésuméActions
DynatraceCe serveur MCP local permet d'interagir avec la plateforme d'observabilité Dynatrace. Apportez des d...Voir
Serveur Lodgify MCPServeur MCP (Model Context Protocol) pour l'API de location de vacances Lodgify. Il expose des outil...Voir
mcp-k8s-goMCP 💬 prompt 🗂️ resource 🤖 toolVoir
Au-delà du menu Salesforce MCPAu-delà du menu Salesforce MCPVoir
WeatherXM PROUne implémentation de serveur MCP exposant les API de WeatherXM PRO en tant qu'outils MCP, permettan...Voir
CData Zuora MCP ServerServeur Model Context Protocol (MCP) de CData pour ZuoraVoir