使用说明
MCP服务器(已弃用)
一个模型上下文协议(MCP)服务器,提供与PayPal API的全面集成。该服务器通过标准化的界面实现了与PayPal的支付处理、发票、订阅管理和业务运营的无缝交互。
特性
支付处理
- 订单管理:创建、更新和跟踪订单
- 支付处理:使用各种方法处理付款
- 支付令牌:创建和管理支付令牌以供将来使用
- 纠纷管理:处理付款争议和解决方案
业务运营
- 产品管理:创建和管理产品目录
- 开具发票:生成并发送专业发票
- 付出的巨款:处理向多个收件人的批量付款
- 订阅管理:创建和管理定期计费
用户管理
- 身份验证:验证用户身份
- 用户信息:检索和管理用户数据
- Web配置文件管理:自定义结账体验
建筑
graph TB
subgraph "MCP Environment"
Client[MCP Client]
Server[PayPal MCP Server]
Validation[Input Validation]
Auth[OAuth Authentication]
Cache[Token Cache]
ErrorHandler[Error Handler]
end
subgraph "PayPal APIs"
Orders[Orders API]
Payments[Payments API]
Payouts[Payouts API]
Invoicing[Invoicing API]
Products[Products API]
Subscriptions[Subscriptions API]
Disputes[Disputes API]
Identity[Identity API]
end
Client --> |Request| Server
Server --> |Response| Client
Server --> Validation
Server --> Auth
Auth --> Cache
Auth --> |Access Token| PayPal
Server --> ErrorHandler
Server --> Orders
Server --> Payments
Server --> Payouts
Server --> Invoicing
Server --> Products
Server --> Subscriptions
Server --> Disputes
Server --> Identity
style Client fill:#f9f,stroke:#333,stroke-width:2px
style Server fill:#bbf,stroke:#333,stroke-width:2px
style Auth fill:#bfb,stroke:#333,stroke-width:2px
style Validation fill:#bfb,stroke:#333,stroke-width:2px
style Cache fill:#fbb,stroke:#333,stroke-width:2px
style ErrorHandler fill:#fbb,stroke:#333,stroke-width:2px
安装
先决条件
- Node.js 16.x或更高版本
- 具有API证书的PayPal开发者帐户
手动安装
-
克隆存储库
git clone https://github.com/arbuthnot-eth/PayPal-MCP.git cd PayPal-MCP -
安装依赖项
npm install -
构建项目
npm run build -
在MCP设置文件中配置PayPal凭据:
{ "mcpServers": { "paypal": { "command": "node", "args": ["path/to/paypal-mcp/build/index.js"], "env": { "PAYPAL_CLIENT_ID": "your_client_id", "PAYPAL_CLIENT_SECRET": "your_client_secret", "PAYPAL_ENVIRONMENT": "sandbox" // or "live" }, "disabled": false, "autoApprove": [] } } }
可用工具
支付操作
create_payment_token
创建一个支付令牌以供将来使用。
{
customer: {
id: string;
email_address?: string;
};
payment_source: {
card?: {
name: string;
number: string;
expiry: string;
security_code: string;
};
paypal?: {
email_address: string;
};
};
}
创建订单
在PayPal中创建新订单。
{
intent: 'CAPTURE' | 'AUTHORIZE';
purchase_units: Array<{
amount: {
currency_code: string;
value: string;
};
description?: string;
reference_id?: string;
items?: Array<{
name: string;
quantity: string;
unit_amount: {
currency_code: string;
value: string;
};
}>;
}>;
application_context?: {
brand_name?: string;
shipping_preference?: 'GET_FROM_FILE' | 'NO_SHIPPING' | 'SET_PROVIDED_ADDRESS';
user_action?: 'CONTINUE' | 'PAY_NOW';
};
}
capture_order
获取授权订单的付款。
{
order_id: string;
payment_source?: {
token?: {
id: string;
type: string;
};
};
}
创建_订阅
创建定期计费的订阅。
{
plan_id: string;
subscriber: {
name: {
given_name: string;
surname: string;
};
email_address: string;
};
application_context?: {
brand_name?: string;
shipping_preference?: 'GET_FROM_FILE' | 'NO_SHIPPING' | 'SET_PROVIDED_ADDRESS';
user_action?: 'CONTINUE' | 'SUBSCRIBE_NOW';
payment_method?: {
payer_selected?: string;
payee_preferred?: string;
};
};
}
业务运营
创建产品
在目录中创建新产品。
{
name: string;
description: string;
type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE';
category: string;
image_url?: string;
home_url?: string;
}
create_invoice
生成新发票。
{
invoice_number: string;
reference: string;
currency_code: string;
recipient_email: string;
items: Array<{
name: string;
quantity: string;
unit_amount: {
currency_code: string;
value: string;
};
description?: string;
tax?: {
name: string;
percent: string;
};
}>;
note?: string;
terms_and_conditions?: string;
memo?: string;
payment_term?: {
term_type: 'DUE_ON_RECEIPT' | 'DUE_ON_DATE' | 'NET_10' | 'NET_15' | 'NET_30' | 'NET_45' | 'NET_60' | 'NET_90';
due_date?: string;
};
}
创建路径
处理批量付款。
{
sender_batch_header: {
sender_batch_id: string;
email_subject?: string;
recipient_type?: string;
};
items: Array<{
recipient_type: string;
amount: {
value: string;
currency: string;
};
receiver: string;
note?: string;
}>;
}
错误处理
服务器实现了全面的错误处理:
- 输入验证:带有特定消息的详细验证错误
- PayPal API错误:带有PayPal错误详细信息的结构化错误响应
- 网络错误:重试瞬态网络问题的逻辑
- 身份验证错误:自动刷新令牌并清除错误消息
- 速率限制:API利率限制的退让策略
安全考虑
- 所有敏感数据都经过验证和净化
- 使用PayPal进行OAuth 2.0身份验证
- 通过环境变量实现安全的凭据管理
- 所有API参数的输入验证
- 错误消息不会暴露敏感信息
发展
建筑
npm run build
以开发模式运行
npm run dev
测试
npm test
代码检查
npm run lint
格式化
npm run format
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
MIT许可证