PayPal支付集成
STDIOPayPal API集成支付处理服务器
PayPal API集成支付处理服务器
Maintained by DynamicEndpoints - Contact: [email protected]
A Model Context Protocol (MCP) server that provides integration with PayPal's APIs. This server enables seamless interaction with PayPal's payment processing, invoicing, and business management features through a standardized interface.
graph TB subgraph "MCP Environment" Client[MCP Client] Server[PayPal MCP Server] Validation[Input Validation] Auth[OAuth Authentication] end subgraph "PayPal APIs" Orders[Orders API] Payments[Payments API] Payouts[Payouts API] Invoicing[Invoicing API] Products[Products API] Disputes[Disputes API] Identity[Identity API] end Client --> |Request| Server Server --> |Response| Client Server --> Validation Server --> Auth Auth --> |Access Token| PayPal Server --> Orders Server --> Payments Server --> Payouts Server --> Invoicing Server --> Products 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
Payment Processing
Business Operations
User Management
To install PayPal MCP Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @DynamicEndpoints/Paypal-MCP --client claude
npm install
npm run build
{ "mcpServers": { "paypal": { "command": "node", "args": ["path/to/paypal-server/build/index.js"], "env": { "PAYPAL_CLIENT_ID": "your_client_id", "PAYPAL_CLIENT_SECRET": "your_client_secret" }, "disabled": false, "autoApprove": [] } } }
Create a payment token for future use.
{ customer: { id: string; email_address?: string; }; payment_source: { card?: { name: string; number: string; expiry: string; security_code: string; }; paypal?: { email_address: string; }; }; }
Create a new order in PayPal.
{ intent: 'CAPTURE' | 'AUTHORIZE'; purchase_units: Array<{ amount: { currency_code: string; value: string; }; description?: string; reference_id?: string; }>; }
Create a direct payment.
{ intent: string; payer: { payment_method: string; funding_instruments?: Array<{ credit_card?: { number: string; type: string; expire_month: number; expire_year: number; cvv2: string; first_name: string; last_name: string; }; }>; }; transactions: Array<{ amount: { total: string; currency: string; }; description?: string; }>; }
Create a new product in the catalog.
{ name: string; description: string; type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE'; category: string; image_url?: string; home_url?: string; }
Generate a new 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; }; }>; }
Process a batch payout.
{ 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; }>; }
Retrieve user information.
{ access_token: string; }
Create a web experience profile.
{ name: string; presentation?: { brand_name?: string; logo_image?: string; locale_code?: string; }; input_fields?: { no_shipping?: number; address_override?: number; }; flow_config?: { landing_page_type?: string; bank_txn_pending_url?: string; }; }
const result = await mcpClient.useTool('paypal', 'create_order', { intent: 'CAPTURE', purchase_units: [{ amount: { currency_code: 'USD', value: '100.00' }, description: 'Premium Subscription' }] });
const result = await mcpClient.useTool('paypal', 'create_invoice', { invoice_number: 'INV-2024-001', reference: 'REF-2024-001', currency_code: 'USD', recipient_email: '[email protected]', items: [{ name: 'Consulting Services', quantity: '1', unit_amount: { currency_code: 'USD', value: '500.00' } }] });
const result = await mcpClient.useTool('paypal', 'create_payout', { sender_batch_header: { sender_batch_id: 'Payroll_2024_001', email_subject: 'You have received a payment' }, items: [{ recipient_type: 'EMAIL', amount: { value: '1000.00', currency: 'USD' }, receiver: '[email protected]', note: 'Monthly salary payment' }] });
The server implements comprehensive error handling:
npm run build
npm test
The server outputs detailed logs to help with debugging:
MIT License