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 PayPallist_invoices
: Liste des factures avec pagination et filtrage optionnelsget_invoice
: Récupérer les détails d'une facture spécifiquesend_invoice
: envoi d'une facture aux destinatairessend_invoice_reminder
: Envoyer un rappel pour une facture existantecancel_sent_invoice
: Annuler une facture envoyéegenerate_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 fourniesget_order
: Récupérer les détails d'une commandepay_order
: Traite le paiement d'une commande autoriséecreate_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 coursget_dispute
: Récupérer les informations détaillées d'un litige spécifiqueaccept_dispute_claim
: Accepter une réclamation de litige
Suivi des envois
create_shipment_tracking
: Créer un enregistrement de suivi d'expéditionget_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 PayPallist_products
: Liste des produits avec pagination et filtrage facultatifsshow_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'abonnementlist_subscription_plans
: Liste des plans d'abonnementshow_subscription_plan_details
: Récupérer les détails d'un plan d'abonnement spécifiquecreate_subscription
: Créer un nouvel abonnementshow_subscription_details
: Récupérer les détails d'un abonnement spécifiqueupdate_subscription
: mettre à jour un abonnement existantcancel_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 :
- Visitez le site officiel de Node.js, téléchargez-le et installez-le.
- 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é.
- Ouvrez Claude Desktop
- Naviguez vers Paramètres
- Trouvez la section Développeur ou Paramètres avancés
- Localisez la zone de configuration des outils externes ou des connecteurs
- 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.
- Sauvegardez vos changements de configuration
3. Tester l'intégration
- Quittez et redémarrez Claude Desktop pour appliquer les changements
- 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 à PayPalPAYPAL_ENVIRONMENT
:SANDBOX
pour le mode bac à sable,PRODUCTION
pour la production (modeSANDBOX
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
Créez un compte développeur PayPal:
- Accéder au tableau de bord du développeur PayPal
- Inscrivez-vous ou connectez-vous avec vos informations d'identification PayPal
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
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
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
- Une fois votre application créée ou sélectionnée, vous verrez un écran avec votre
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
- Créez une nouvelle requête vers
https://api-m.sandbox.paypal.com/v1/oauth2/token
- Définissez la méthode sur POST
- Sous Autorisation, sélectionnez Auth de base et entrez votre ID de client et votre secret de client
- Sous Body, sélectionnez x-www-form-urlencoded et ajoutez une clé
grant_type
avec la valeurclient_credentials
- 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
- Stocker l'identifiant et le secret du client en toute sécurité
- Mettre en œuvre une logique de rafraîchissement du jeton pour gérer l'expiration du jeton
- Utiliser des jetons spécifiques à l'environnement (bac à sable pour les tests, production pour les transactions réelles)
- É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.