PayPal
官方PayPal 模型上下文协议服务器允许您通过函数调用与 PayPal API 集成。该协议支持多种工具,用于与不同的 PayPal 服务进行交互。
你可以用 PayPal MCP 做什么?
让您的助手“创建发票并发送”,或处理其他 PayPal 任务,如付款、争议和物流。
- 创建并发送发票 — 使用
create_invoice和send_invoice生成包含账单明细和行项目的新发票,然后发送出去。 - 发送发票提醒 — 使用
send_invoice_reminder为现有发票发送提醒。 - 处理付款 — 使用
create_order和pay_order创建订单并处理付款。 - 管理争议 — 使用
list_disputes和accept_dispute_claim列出未结争议并接受索赔。 - 跟踪物流 — 使用
create_shipment_tracking和update_shipment_tracking创建和更新物流跟踪记录。 - 列出交易 — 使用
list_transactions通过可选筛选条件检索交易历史。
文档
PayPal Agent 工具包
PayPal Agent 工具包使流行的代理框架(包括 OpenAI 的 Agent SDK、LangChain、Vercel 的 AI SDK 以及模型上下文协议(MCP))能够通过函数调用与 PayPal API 集成。它支持 TypeScript,并基于 PayPal API 和 PayPal SDK 构建。
可用工具
PayPal Agent 工具包提供以下工具:
发票
create_invoice: 在 PayPal 系统中创建新发票,包括收款人账单信息、行项目、发票备注、自定义颜色主题、可选的运费,以及启用 PAY_BY_BANK 作为付款方式的选项create_recurring_series: 创建定期发票系列,按计划自动生成并发送发票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: 为商家检索业务智能指标和分析
TypeScript
安装
除非您想修改包,否则不需要此源代码。如果您只想使用该包,请运行:
npm install @paypal/agent-toolkit
要求
- Node 18+
使用方法
该库需要使用您账户的客户端 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,
createRecurringSeries: 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(); // 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.`,
});
环境变量
可以使用以下环境变量:
PAYPAL_ACCESS_TOKEN: 您的 PayPal 访问令牌PAYPAL_ENVIRONMENT: 设置为SANDBOX以使用沙盒模式,设置为PRODUCTION以使用生产模式(默认为SANDBOX模式)
本指南说明如何为 PayPal API 集成生成访问令牌,包括如何找到您的客户端 ID 和客户端密钥。
前提条件
- PayPal 开发者账户(用于沙盒)
- PayPal 企业账户(用于生产环境)
查找您的客户端 ID 和客户端密钥
-
创建 PayPal 开发者账户:
- 前往 PayPal 开发者仪表板
- 使用您的 PayPal 凭据注册或登录
-
访问您的凭据:
- 在开发者仪表板中,点击菜单中的 应用与凭据
- 根据您的需求在 沙盒 和 实时 模式之间切换
-
创建或查看应用:
- 要创建新应用,请点击 创建应用
- 为您的应用命名,并选择要关联的企业账户
- 对于现有应用,点击应用名称以查看详细信息
-
检索凭据:
- 创建或选择应用后,您将看到一个屏幕,其中包含您的:
- 客户端 ID:应用的公开标识符
- 客户端密钥:私有密钥(点击 "显示" 后显示)
- 请安全保存这些凭据,因为生成访问令牌需要它们
- 创建或选择应用后,您将看到一个屏幕,其中包含您的:
生成访问令牌
使用 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\"
将 CLIENT_ID 和 CLIENT_SECRET 替换为您的实际凭据。对于生产环境,请使用 https://api-m.paypal.com 而不是沙盒 URL。
使用 Postman
- 向
https://api-m.sandbox.paypal.com/v1/oauth2/token创建新请求 - 将方法设置为 POST
- 在 授权 下,选择 基本认证 并输入您的客户端 ID 和客户端密钥
- 在 正文 下,选择 x-www-form-urlencoded 并添加键
grant_type,值为client_credentials - 发送请求
响应
成功响应将如下所示:
{
"scope": "...",
"access_token": "Your Access Token",
"token_type": "Bearer",
"app_id": "APP-80W284485P519543T",
"expires_in": 32400,
"nonce": "..."
}
复制 access_token 值以在您的 Claude Desktop 集成中使用。
令牌详情
- 沙盒令牌:有效期为 3-8 小时
- 生产令牌:有效期为 8 小时
- 建议在过期前实现令牌刷新逻辑
在 Claude Desktop 中使用令牌
获得访问令牌后,请更新您的 Claude Desktop 连接器配置中的 PAYPAL_ACCESS_TOKEN 值:
{
"env": {
"PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
"PAYPAL_ENVIRONMENT": "SANDBOX"
}
}
最佳实践
- 安全存储客户端 ID 和客户端密钥
- 实现令牌刷新逻辑以处理令牌过期
- 使用特定于环境的令牌(沙盒用于测试,生产环境用于真实交易)
- 避免在应用程序代码中对令牌进行硬编码
免责声明
AI 生成的内容可能不准确或不完整。用户有责任在依赖任何信息之前独立核实。PayPal 不对输出准确性作任何保证,也不对因使用其而产生的任何决策、行动或后果负责。