Stripe Agent Toolkit
Stripe Agent Toolkit permet aux frameworks d'agents populaires, y compris OpenAI's Agent SDK, LangChain, CrewAI, Vercel's AI SDK, et Model Context Protocol (MCP), de s'intégrer aux API de Stripe par le biais d'appels de fonctions. La bibliothèque n'est pas exhaustive de l'ensemble de l'API Stripe. Elle inclut un support pour Python et TypeScript et est construite directement au-dessus des SDK Stripe Python et Node.
Vous trouverez ci-dessous des instructions de base, mais vous pouvez vous référer aux packages Python et TypeScript pour plus d'informations.
Python
Installation
Vous n'avez pas besoin de ce code source à moins que vous ne souhaitiez modifier le paquet. Si vous souhaitez simplement utiliser le paquetage, exécutez :
pip install stripe-agent-toolkit
Configuration requise
- Python 3.11+
Utilisation
La bibliothèque doit être configurée avec la clé secrète de votre compte qui est disponible dans votre tableau de bord Stripe.
from stripe_agent_toolkit.openai.toolkit import StripeAgentToolkit stripe_agent_toolkit = StripeAgentToolkit( secret_key="sk_test_...", configuration={ "actions" : { "payment_links" : {"create" : True, }, } }, )
La boîte à outils fonctionne avec le SDK Agent d'OpenAI, LangChain et CrewAI et peut être transmise sous la forme d'une liste d'outils. Il peut être passé comme une liste d'outils. Par exemple :
from agents import Agent stripe_agent = Agent( name="Stripe Agent", instructions="Vous êtes un expert en intégration avec Stripe", tools=stripe_agent_toolkit.get_tools() )
Des exemples pour OpenAI's Agent SDK, LangChain, et CrewAI sont inclus dans /examples.
Contexte
Dans certains cas, vous voudrez fournir des valeurs qui serviront de valeurs par défaut lorsque vous ferez des requêtes. Actuellement, la valeur de contexte de compte
vous permet de faire des appels API pour vos comptes connectés.
stripe_agent_toolkit = StripeAgentToolkit( secret_key="sk_test_...", configuration={ "context" : { "account" : "acct_123" } } )
TypeScript
Installation de l'outil
Vous n'avez pas besoin de ce code source à moins que vous ne souhaitiez modifier le paquet. Si vous voulez juste utiliser le paquetage, lancez :
npm install @stripe/agent-toolkit
Exigences
- Node 18+
Utilisation
La bibliothèque doit être configurée avec la clé secrète de votre compte qui est disponible dans votre tableau de bord Stripe. De plus, la configuration
vous permet de spécifier les types d'actions qui peuvent être prises en utilisant le toolkit.
import { StripeAgentToolkit } from "@stripe/agent-toolkit/langchain" ; const stripeAgentToolkit = new StripeAgentToolkit({ secretKey : process.env.STRIPE_SECRET_KEY !, configuration : { actions : { paymentLinks : { create : true, }, }, }, })
Outils
La boîte à outils fonctionne avec LangChain et le SDK AI de Vercel et peut être transmise sous la forme d'une liste d'outils. Il peut être passé comme une liste d'outils. Par exemple :
import { AgentExecutor, createStructuredChatAgent } from "langchain/agents" ; const tools = stripeAgentToolkit.getTools() ; const agent = await createStructuredChatAgent({ llm, tools, prompt, }) ; const agentExecutor = new AgentExecutor({ agent, tools, })
Contexte
Dans certains cas, vous souhaiterez fournir des valeurs qui serviront de valeurs par défaut lors de l'exécution des requêtes. Actuellement, la valeur du contexte de compte
vous permet d'effectuer des appels d'API pour vos comptes connectés.
const stripeAgentToolkit = new StripeAgentToolkit({ secretKey : process.env.STRIPE_SECRET_KEY !, configuration : { context : { account : "acct_123", }, }, })
Facturation au compteur
Pour le SDK AI de Vercel, vous pouvez utiliser un intergiciel pour soumettre des événements de facturation pour l'utilisation. Tout ce qui est nécessaire est l'identifiant du client et les compteurs d'entrée/sortie à facturer.
import { StripeAgentToolkit } from "@stripe/agent-toolkit/ai-sdk" ; import { openai } from "@ai-sdk/openai" ; import { generateText, experimental_wrapLanguageModel as wrapLanguageModel, } from "ai" ; const stripeAgentToolkit = new StripeAgentToolkit({ secretKey : process.env.STRIPE_SECRET_KEY !, configuration : { actions : { paymentLinks : { create : true, }, }, }, }) ; const model = wrapLanguageModel({ model : openai("gpt-4o"), middleware : stripeAgentToolkit.middleware({ billing : { customer : "cus_123", meters : { input : "input_tokens", output : "output_tokens", }, }, }), })
Protocole Modèle Contexte
Stripe héberge un serveur MCP distant à l'adresse https://mcp.stripe.com.
Consultez la documentation ici.
Le Stripe Agent Toolkit supporte également le Model Context Protocol (MCP). Pour lancer un serveur Stripe MCP local à l'aide de npx, utilisez la commande suivante :
npx -y @stripe/mcp --tools=all --api-key=YOUR_STRIPE_SECRET_KEY
Remplacez YOUR_STRIPE_SECRET_KEY
par votre clé secrète Stripe. Vous pouvez également définir la STRIPE_SECRET_KEY dans vos variables d'environnement.
Alternativement, vous pouvez mettre en place votre propre serveur MCP. Par exemple, vous pouvez créer votre propre serveur MCP :
import { StripeAgentToolkit } from "@stripe/agent-toolkit/modelcontextprotocol" ; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js" ; const server = new StripeAgentToolkit({ secretKey : process.env.STRIPE_SECRET_KEY !, configuration : { actions : { paymentLinks : { create : true, }, products : { create : true, }, prices : { create : true, }, }, }) ; async function main() { const transport = new StdioServerTransport() ; await server.connect(transport) ; console.error("Stripe MCP Server running on stdio") ; } main().catch((error) => { console.error("Fatal error in main() :", error) ; process.exit(1) ; })
Méthodes API prises en charge
- Annuler un abonnement
- Créer un coupon
- Créer un client
- Créer un lien de paiement
- Créer un prix
- Créer un produit
- Créer un remboursement
- Créer un poste de facture
- Créer une facture
- Finaliser une facture
- Lister tous les coupons
- Liste de tous les clients
- Lister tous les litiges
- Lister tous les prix
- Liste de tous les produits
- Liste de tous les abonnements
- Récupérer le solde
- Mise à jour d'un litige
- Mise à jour d'un abonnement