PayPal API集成工具

PayPal Model Context Protocol (MCP) 是一个支持通过函数调用与PayPal API集成的工具,提供发票管理、支付处理、争议管理、订阅管理等多种功能。

  • by paypal
  • TypeScript
  • 本地部署
  • 197 星标
  • 更新于
在 GitHub 查看 paypal/agent-toolkit

使用说明

PayPal模型上下文协议

PayPal 模型上下文协议 服务器允许您通过函数调用与PayPal API集成。该协议支持各种工具与不同的PayPal服务进行交互。

要使用npx运行PayPal MCP服务器,请使用以下命令:

npx -y @paypal/mcp --tools=all PAYPAL_ACCESS_TOKEN="YOUR_ACCESS_TOKEN" PAYPAL_ENVIRONMENT="SANDBOX"

替换 YOUR_ACCESS_TOKEN 使用您的PayPal访问令牌。请参阅如何 生成PayPal访问令牌。或者,您可以在环境变量中设置PAYPAL_ACCESS_TOKEN。

与MCP主机(Claude Desktop/Cline/Cursor/GitHub Copilot)一起使用

本指南解释了如何将PayPal连接器与Claude Desktop集成。

先决条件

  • 已安装Claude桌面应用程序
  • 在本地安装Node.js

安装步骤

1.安装Node.js

PayPal连接器需要Node.js才能运行:

  1. 访问 Node.js官方网站,下载并安装。
  2. 要求:节点18+

2.使用MCP主机配置PayPal连接器(克劳德桌面/光标/客户端)

我们将展示与Claude桌面的集成。您可以使用您最喜欢的MCP主机。

  1. 打开克劳德桌面
  2. 导航到“设置”
  3. 查找“开发人员”或“高级设置”部分
  4. 找到外部工具或连接器配置区域
  5. 将以下PayPal连接器配置添加到此~/Claude/Claude_desktop_config文件中:
{
   "mcpServers": {
     "paypal": {
       "command": "npx",
       "args": [
         "-y",
         "@paypal/mcp",
         "--tools=all"
       ],
       "env": {
         "PAYPAL_ACCESS_TOKEN": "YOUR_PAYPAL_ACCESS_TOKEN",
         "PAYPAL_ENVIRONMENT": "SANDBOX"
       }
     }
   }
}

确保更换 YOUR_PAYPAL_ACCESS_TOKEN 使用您实际的PayPal访问令牌。或者,您可以将PAYPAL_ACCESS_TOKEN设置为环境变量。您还可以在“args”中使用--access标记将其作为参数传递 集 PAYPAL_ENVIRONMENT 值为 SANDBOX 用于阶段测试和 PRODUCTION 生产环境。

  1. 保存配置更改

3.测试集成

  1. 退出并重新启动Claude Desktop以应用更改
  2. 通过让Claude执行与PayPal相关的任务来测试连接
    • 示例:“列出我的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:检索装运跟踪信息

目录管理

  • create_product:在PayPal目录中创建新产品
  • list_products:列出具有可选分页和筛选功能的产品
  • show_product_details:检索特定产品的详细信息
  • update_product:更新现有产品

订阅管理

  • create_subscription_plan:创建新的订阅计划
  • update_plan:更新现有计划
  • list_subscription_plans:列出订阅计划
  • show_subscription_plan_details:检索特定订阅计划的详细信息
  • create_subscription:创建新订阅
  • show_subscription_details:检索特定订阅的详细信息
  • update_subscription:更新现有订阅
  • cancel_subscription:取消活动订阅

报告和见解

  • list_transactions:列出具有可选分页和筛选功能的交易

环境变量

可以使用以下环境变量:

  • PAYPAL_ACCESS_TOKEN:您的PayPal访问令牌
  • PAYPAL_ENVIRONMENT:设置为 SANDBOX 对于沙盒模式, PRODUCTION 用于生产(默认为 SANDBOX 模式)

本指南介绍了如何为PayPal API集成生成访问令牌,包括如何查找您的客户ID和客户机密。

先决条件

  • PayPal开发者帐户(适用于沙盒)
  • PayPal商业账户(用于生产)

查找您的客户端ID和客户端密码

  1. 创建PayPal开发者帐户:

  2. 访问您的凭据:

    • 在开发人员仪表板中,单击 应用程序和凭据 在菜单中
    • 切换 沙盒 和 直播 模式取决于您的需求
  3. 创建或查看应用程序:

    • 要创建新应用程序,请单击 创建应用程序
    • 为您的应用程序命名,并选择一个商业帐户与之关联
    • 对于现有应用程序,单击应用程序名称查看详细信息
  4. 检索凭据:

    • 创建或选择应用程序后,您将看到一个屏幕,其中显示您的:
      • 客户端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。

使用邮递员

  1. 创建新请求 https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. 将方法设置为 发布
  3. 在...之下 授权,选择 基本认证 并输入您的客户端ID和客户端密码
  4. 在...之下 身体,选择 x-www-form-urlencoded 并添加密钥 grant_type 有价值 client_credentials
  5. 发送请求

响应

成功的响应如下:

{
  "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中使用令牌

获得访问令牌后,更新 PAYPAL_ACCESS_TOKEN Claude Desktop连接器配置中的值:

{
  "env": {
    "PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
    "PAYPAL_ENVIRONMENT": "SANDBOX"
  }
}

最佳实践

  1. 安全地存储客户端ID和客户端密钥
  2. 实现令牌刷新逻辑以处理令牌过期
  3. 使用特定于环境的令牌(沙盒用于测试,生产用于实际交易)
  4. 避免在应用程序代码中硬编码令牌

免责声明

@paypal/mcp 提供对可能不准确或不完整的AI生成内容的访问。用户有责任在依赖任何信息之前对其进行独立验证。PayPal对输出的准确性不作任何保证,也不对使用该信息所导致的任何决定、行为或后果负责。