关于 Paypal
PayPal Agent Toolkit 让 Agent 框架和 MCP 客户端通过工具调用 PayPal API,并提供 TypeScript 支持。它涵盖交易、发票、订阅、争议、物流、商品目录和商家洞察。
主要功能
- 01创建和管理发票
- 02创建订单并处理付款
- 03处理退款和争议
- 04管理订阅与商品目录
- 05跟踪物流并查看交易
- 06获取商家分析数据
适用场景
- 01创建并发送客户发票
- 02处理订单付款或退款
- 03管理订阅和计费方案
- 04查看争议和商家活动
MCP 相关
它向 MCP 客户端提供 PayPal API 工具,涵盖发票、付款、争议、物流跟踪、订阅和报告等操作。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
PayPal Agent Toolkit
PayPal Agent Toolkit 支持 OpenAI 的 Agent SDK、LangChain、Vercel 的 AI SDK 和 Model Context Protocol(MCP)等热门 Agent 框架通过函数调用集成 PayPal API。它支持 TypeScript,并基于 PayPal API 和 PayPal SDK 构建。
可用工具
PayPal Agent Toolkit 提供以下工具:
发票
-
create_invoice:在 PayPal 系统中创建新发票,包括收件人账单详情、行项目、发票备注、自定义颜色主题、可选运费,以及启用 PAY_BY_BANK 作为付款方式的选项 -
list_invoices:列出发票,可选择分页和筛选 -
get_invoice:获取特定发票的详情 -
send_invoice:向收件人发送发票 -
send_invoice_reminder:发送现有发票的提醒 -
cancel_sent_invoice:取消已发送的发票 -
generate_invoice_qr_code:生成发票二维码 -
delete_invoice:永久删除草稿或已安排的发票 -
generate_invoice_number:生成商家可用的下一个发票编号 -
search_invoicing:搜索发票或定期发票系列 -
update_invoicing:更新现有发票或定期发票系列(完全替换) -
cancel_invoice_auto_reminder:取消发票的所有已安排自动提醒 -
record_payment_for_invoice:记录针对发票的外部或手动付款 -
record_refund_for_invoice:记录针对发票的退款 -
create_conditional_rules_for_invoice:为发票创建条件规则,例如提前付款折扣或自动取消日期 -
create_recurring_series:创建定期发票系列,按计划自动生成并发送发票 -
activate_recurring_series:启用草稿定期发票系列 -
get_recurring_series:获取特定定期发票系列的详情 -
cancel_recurring_series:取消有效的定期发票系列 -
delete_recurring_series:删除草稿定期发票系列
付款
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,
delete: true,
generateQRC: true,
generateInvoiceNumber: true,
search: true,
update: true,
cancelReminders: true,
recordPayment: true,
recordRefund: true,
createConditionalRules: 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 凭据注册或登录
-
访问您的凭据:
- 在开发者控制台的菜单中,点击 Apps & Credentials
- 根据需要在 Sandbox 和 Live 模式之间切换
-
创建或查看应用:
- 若要创建新应用,请点击 Create App
- 为应用命名,并选择要与其关联的企业账户
- 对于现有应用,点击应用名称即可查看详情
-
获取凭据:
- 创建或选定应用后,您会看到一个页面,其中包含:
- 客户端 ID:应用的公开标识符
- 客户端密钥:私钥(点击 "Show" 后显示)
- 请安全保存这些凭据,因为生成访问令牌时需要用到它们
- 创建或选定应用后,您会看到一个页面,其中包含:
生成访问令牌
使用 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
- 在 Authorization 下,选择 Basic Auth 并输入您的客户端 ID 和客户端密钥
- 在 Body 下,选择 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 不保证输出准确性,也不对因使用输出而导致的任何决定、行为或后果承担责任。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。