PayPal 代理工具包使流行的代理框架(包括 OpenAI 的 Agent SDK、LangChain、Vercel 的 AI SDK 和模型上下文协议 (MCP))能够通过函数调用与 PayPal API 集成。它支持 TypeScript,并基于 PayPal API 和 PayPal SDK 构建。
PayPal 代理工具包提供以下工具:
发票
create_invoice: 在 PayPal 系统中创建新的发票list_invoices: 列出发票,可选分页和过滤get_invoice: 获取特定发票的详细信息send_invoice: 将发票发送给收件人send_invoice_reminder: 发送现有发票的提醒cancel_sent_invoice: 取消已发送的发票generate_invoice_qr_code: 生成发票的二维码支付
create_order: 根据提供的详细信息在 PayPal 系统中创建订单get_order: 获取订单的详细信息pay_order: 处理授权订单的付款create_refund: 处理捕获付款的退款。get_refund: 获取特定退款的详细信息。争议管理
list_disputes: 获取所有开放争议的摘要get_dispute: 获取特定争议的详细信息accept_dispute_claim: 接受争议索赔运输跟踪
create_shipment_tracking: 创建运输跟踪记录get_shipment_tracking: 获取运输跟踪信息update_shipment_tracking: 更新运输跟踪信息目录管理
create_product: 在 PayPal 目录中创建新产品list_products: 列出产品,可选分页和过滤show_product_details: 获取特定产品的详细信息订阅管理
create_subscription_plan: 创建新的订阅计划list_subscription_plans: 列出订阅计划show_subscription_plan_details: 获取特定订阅计划的详细信息create_subscription: 创建新的订阅show_subscription_details: 获取特定订阅的详细信息update_subscription: 更新现有订阅cancel_subscription: 取消活动订阅报告和洞察
list_transactions: 列出交易,可选分页和过滤get_merchant_insights: 获取商家的业务智能指标和分析除非您想修改该包,否则不需要此源代码。如果您只是想使用该包,请运行:
npm install @paypal/agent-toolkit
库需要使用您的账户客户端ID和密钥进行配置,这些信息可以在您的PayPal 开发者仪表板中找到。
该工具包与 Vercel 的 AI SDK 兼容,并且可以作为工具列表传递。更多详情,请参阅我们的示例
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 },
},
},
});
要使用沙盒模式,在配置中添加上下文。
configuration: {
context: {
sandbox: true,
}
}
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,
},
});
const llm: LanguageModelV1 = getModel(); // 要与 ai-sdk 一起使用的模型
const { text: response } = await generateText({
model: llm,
tools: paypalToolkit.getTools(),
maxSteps: 10,
prompt: `创建一个价值50美元的定制手工商品订单并获取支付链接。`,
});
可以使用以下环境变量:
PAYPAL_ACCESS_TOKEN: 您的 PayPal 访问令牌PAYPAL_ENVIRONMENT: 设置为 SANDBOX 以启用沙盒模式,设置为 PRODUCTION 以启用生产模式(默认为 SANDBOX 模式)本指南解释了如何为 PayPal API 集成生成访问令牌,包括如何查找您的客户端ID和客户端密钥。
创建 PayPal 开发者账户:
访问您的凭据:
创建或查看应用:
检索凭据:
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\"
将 CLIENT_ID 和 CLIENT_SECRET 替换为您实际的凭据。对于生产环境,请使用 https://api-m.paypal.com 而不是沙盒 URL。
https://api-m.sandbox.paypal.com/v1/oauth2/tokengrant_type,值为 client_credentials成功的响应如下所示:
{
"scope": "...",
"access_token": "您的访问令牌",
"token_type": "Bearer",
"app_id": "APP-80W284485P519543T",
"expires_in": 32400,
"nonce": "..."
}
复制 access_token 值以用于您的 Claude Desktop 集成。
一旦您有了访问令牌,请更新 Claude Desktop 连接器配置中的 PAYPAL_ACCESS_TOKEN 值:
{
"env": {
"PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
"PAYPAL_ENVIRONMENT": "SANDBOX"
}
}
AI生成的内容可能不准确或不完整。用户在依赖任何信息之前应独立验证。PayPal 不保证输出准确性,不对因使用而产生的任何决策、行动或后果负责。