PayPal MCP Server

by arbuthnot-eth
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Used for visualizing the architecture of the PayPal MCP server through diagrams in the documentation.

  • Provides the runtime environment for the MCP server, supporting the execution of the PayPal integration services.

  • Enables comprehensive interaction with PayPal's payment processing systems, including orders management, payment processing, invoicing, subscription management, dispute resolution, product catalog management, payouts, and user identity verification.

Servidor MCP de PayPal

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona una integración completa con las API de PayPal. Este servidor permite una interacción fluida con el procesamiento de pagos, la facturación, la gestión de suscripciones y las operaciones comerciales de PayPal mediante una interfaz estandarizada.

Características

Procesamiento de pagos

  • Gestión de pedidos : crear, actualizar y realizar un seguimiento de pedidos
  • Procesamiento de pagos : procese pagos con varios métodos
  • Tokens de pago : crea y administra tokens de pago para uso futuro
  • Gestión de disputas : gestionar disputas de pago y resoluciones

Operaciones comerciales

  • Gestión de productos : crear y gestionar catálogos de productos
  • Facturación : Genera y envía facturas profesionales
  • Pagos : procese pagos por lotes a múltiples destinatarios
  • Gestión de suscripciones : cree y administre la facturación recurrente

Gestión de usuarios

  • Verificación de identidad : verificar la identidad de los usuarios
  • Información del usuario : recuperar y administrar datos del usuario
  • Gestión de perfiles web : personaliza las experiencias de pago

Arquitectura

Instalación

Prerrequisitos

  • Node.js 16.x o posterior
  • Cuenta de desarrollador de PayPal con credenciales de API

Instalación manual

  1. Clonar el repositorio
    git clone https://github.com/arbuthnot-eth/PayPal-MCP.git cd PayPal-MCP
  2. Instalar dependencias
    npm install
  3. Construir el proyecto
    npm run build
  4. Configure las credenciales de PayPal en su archivo de configuración de MCP:
    { "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": [] } } }

Herramientas disponibles

Operaciones de pago

crear_token_de_pago

Crea un token de pago para uso futuro.

{ customer: { id: string; email_address?: string; }; payment_source: { card?: { name: string; number: string; expiry: string; security_code: string; }; paypal?: { email_address: string; }; }; }

crear_orden

Crear un nuevo pedido en 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'; }; }

orden de captura

Capturar el pago de un pedido autorizado.

{ order_id: string; payment_source?: { token?: { id: string; type: string; }; }; }

crear_suscripción

Cree una suscripción para facturación recurrente.

{ 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; }; }; }

Operaciones comerciales

crear_producto

Crear un nuevo producto en el catálogo.

{ name: string; description: string; type: 'PHYSICAL' | 'DIGITAL' | 'SERVICE'; category: string; image_url?: string; home_url?: string; }

crear_factura

Generar una nueva factura.

{ 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; }; }

crear_pago

Procesar un pago por lotes.

{ 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; }>; }

Manejo de errores

El servidor implementa un manejo integral de errores:

  • Validación de entrada : errores de validación detallados con mensajes específicos
  • Errores de la API de PayPal : Respuestas de error estructuradas con detalles de error de PayPal
  • Errores de red : Lógica de reintento para problemas de red transitorios
  • Errores de autenticación : actualización automática del token y borrado de mensajes de error
  • Limitación de velocidad : estrategias de retroceso para los límites de velocidad de la API

Consideraciones de seguridad

  • Todos los datos sensibles son validados y desinfectados.
  • Autenticación OAuth 2.0 con PayPal
  • Gestión segura de credenciales mediante variables de entorno
  • Validación de entrada para todos los parámetros de API
  • Los mensajes de error no exponen información confidencial

Desarrollo

Edificio

npm run build

Ejecutando en modo de desarrollo

npm run dev

Pruebas

npm test

Pelusa

npm run lint

Formato

npm run format

Contribuyendo

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

Licencia

Licencia MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor de protocolo de contexto de modelo que proporciona una integración integral con las API de PayPal, lo que permite una interacción fluida con el procesamiento de pagos, la facturación, la gestión de suscripciones y las operaciones comerciales a través de una interfaz estandarizada.

  1. Features
    1. Payment Processing
    2. Business Operations
    3. User Management
  2. Architecture
    1. Installation
      1. Prerequisites
      2. Manual Installation
    2. Available Tools
      1. Payment Operations
      2. Business Operations
    3. Error Handling
      1. Security Considerations
        1. Development
          1. Building
          2. Running in Development Mode
          3. Testing
          4. Linting
          5. Formatting
        2. Contributing
          1. License
            ID: uvgnpv0ebu