PayPal
oficialEl servidor del Protocolo de Contexto de Modelo de PayPal permite la integración con las APIs de PayPal mediante llamadas a funciones. Este protocolo admite diversas herramientas para interactuar con diferentes servicios de PayPal.
¿Qué puedes hacer con PayPal MCP?
- Crear y enviar facturas — Solicita redactar una factura con partidas, luego envíala o programa un recordatorio mediante
create_invoiceysend_invoice. - Gestionar pagos y reembolsos — Crea un pedido, captura el pago o emite un reembolso para un pago capturado usando
create_orderycreate_refund. - Manejar disputas — Lista las disputas abiertas, consulta los detalles o acepta una reclamación directamente a través de
list_disputesyaccept_dispute_claim. - Rastrear envíos — Crea un registro de seguimiento para un pedido y recupera su estado con
create_shipment_trackingyget_shipment_tracking. - Gestionar suscripciones — Configura un plan de suscripción, crea una suscripción o cancela una activa mediante
create_subscription_planycancel_subscription. - Obtener información del comerciante — Recupera el historial de transacciones o análisis comerciales con
list_transactionsyget_merchant_insights.
Servidor MCP alojado
npx add-mcp 'https://mcp.paypal.com/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
PayPal Agent Toolkit
El PayPal Agent Toolkit permite que los frameworks de agentes más populares, incluidos el Agent SDK de OpenAI, LangChain, el AI SDK de Vercel y el Model Context Protocol (MCP), se integren con las APIs de PayPal mediante llamadas a funciones. Incluye soporte para TypeScript y está construido sobre las APIs de PayPal y los SDKs de PayPal.
Herramientas disponibles
El PayPal Agent toolkit proporciona las siguientes herramientas:
Facturas
-
create_invoice: Crear una nueva factura en el sistema de PayPal, incluidos los detalles de facturación del destinatario, los artículos de línea, una nota de factura, un tema de color personalizado, un costo de envío opcional y una opción para habilitar PAY_BY_BANK como método de pago -
list_invoices: Listar facturas con paginación y filtrado opcionales -
get_invoice: Recuperar los detalles de una factura específica -
send_invoice: Enviar una factura a los destinatarios -
send_invoice_reminder: Enviar un recordatorio para una factura existente -
cancel_sent_invoice: Cancelar una factura enviada -
generate_invoice_qr_code: Generar un código QR para una factura -
delete_invoice: Eliminar permanentemente una factura borrador o programada -
generate_invoice_number: Generar el siguiente número de factura disponible para el comerciante -
search_invoicing: Buscar facturas o series de facturas recurrentes -
update_invoicing: Actualizar una factura existente o una serie de facturas recurrentes (reemplazo completo) -
cancel_invoice_auto_reminder: Cancelar todos los recordatorios automáticos programados para una factura -
record_payment_for_invoice: Registrar un pago externo o manual contra una factura -
record_refund_for_invoice: Registrar un reembolso contra una factura -
create_conditional_rules_for_invoice: Crear reglas condicionales para una factura, como un descuento por pago anticipado o una fecha de cancelación automática -
create_recurring_series: Crear una serie de facturas recurrentes que genera y envía facturas automáticamente según un cronograma -
activate_recurring_series: Activar una serie de facturas recurrentes borrador -
get_recurring_series: Recuperar los detalles de una serie de facturas recurrentes específica -
cancel_recurring_series: Cancelar una serie de facturas recurrentes activa -
delete_recurring_series: Eliminar una serie de facturas recurrentes borrador
Pagos
create_order: Crear una orden en el sistema de PayPal según los detalles proporcionadosget_order: Recuperar los detalles de una ordenpay_order: Procesar el pago de una orden autorizadacreate_refund: Procesar un reembolso para un pago capturadoget_refund: Obtener los detalles de un reembolso específico
Gestión de disputas
list_disputes: Recuperar un resumen de todas las disputas abiertasget_dispute: Recuperar información detallada de una disputa específicaaccept_dispute_claim: Aceptar una reclamación de disputa
Seguimiento de envíos
create_shipment_tracking: Crear un registro de seguimiento de envíoget_shipment_tracking: Recuperar información de seguimiento de envíoupdate_shipment_tracking: Actualizar información de seguimiento de envío
Gestión de catálogo
create_product: Crear un nuevo producto en el catálogo de PayPallist_products: Listar productos con paginación y filtrado opcionalesshow_product_details: Recuperar los detalles de un producto específico
Gestión de suscripciones
create_subscription_plan: Crear un nuevo plan de suscripciónlist_subscription_plans: Listar planes de suscripciónshow_subscription_plan_details: Recuperar los detalles de un plan de suscripción específicocreate_subscription: Crear una nueva suscripciónshow_subscription_details: Recuperar los detalles de una suscripción específicaupdate_subscription: Actualizar una suscripción existentecancel_subscription: Cancelar una suscripción activa
Informes y perspectivas
list_transactions: Listar transacciones con paginación y filtrado opcionalesget_merchant_insights: Recuperar métricas de inteligencia empresarial y análisis para un comerciante
TypeScript
Instalación
No necesitas este código fuente a menos que quieras modificar el paquete. Si solo quieres usar el paquete, ejecuta:
npm install @paypal/agent-toolkit
Requisitos
- Node 18+
Uso
La biblioteca debe configurarse con el ID de cliente y el secreto de tu cuenta, disponibles en tu PayPal Developer Dashboard.
El toolkit funciona con el AI SDK de Vercel y se puede pasar como una lista de herramientas. Para más detalles, consulta nuestros ejemplos
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 },
},
},
});
Para usar el modo sandbox, agrega contexto dentro de tu configuración.
configuration: {
context: {
sandbox: true,
}
}
Inicialización de los flujos de trabajo
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,
},
});
Uso
Uso del toolkit
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.`,
});
Variables de entorno
Se pueden utilizar las siguientes variables de entorno:
PAYPAL_ACCESS_TOKEN: Tu token de acceso de PayPalPAYPAL_ENVIRONMENT: Configúralo enSANDBOXpara el modo sandbox,PRODUCTIONpara producción (el valor predeterminado es el modoSANDBOX)
Esta guía explica cómo generar un token de acceso para la integración con la API de PayPal, incluido cómo encontrar tu ID de cliente y tu secreto de cliente.
Requisitos previos
- Cuenta de desarrollador de PayPal (para Sandbox)
- Cuenta comercial de PayPal (para producción)
Cómo encontrar tu ID de cliente y tu secreto de cliente
-
Crea una cuenta de desarrollador de PayPal:
- Ve al PayPal Developer Dashboard
- Regístrate o inicia sesión con tus credenciales de PayPal
-
Accede a tus credenciales:
- En el Developer Dashboard, haz clic en Apps & Credentials en el menú
- Cambia entre los modos Sandbox y Live según tus necesidades
-
Crea o visualiza una aplicación:
- Para crear una nueva aplicación, haz clic en Create App
- Asigna un nombre a tu aplicación y selecciona una cuenta comercial para asociarla
- Para aplicaciones existentes, haz clic en el nombre de la aplicación para ver los detalles
-
Recupera las credenciales:
- Una vez que tu aplicación esté creada o seleccionada, verás una pantalla con tu:
- Client ID: Un identificador público para tu aplicación
- Client Secret: Una clave privada (se muestra después de hacer clic en "Show")
- Guarda estas credenciales de forma segura, ya que son necesarias para generar tokens de acceso
- Una vez que tu aplicación esté creada o seleccionada, verás una pantalla con tu:
Generación de un token de acceso
Usando 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\"
Reemplaza CLIENT_ID y CLIENT_SECRET con tus credenciales reales. Para producción, usa https://api-m.paypal.com en lugar de la URL de sandbox.
Usando Postman
- Crea una nueva solicitud a
https://api-m.sandbox.paypal.com/v1/oauth2/token - Configura el método como POST
- En Authorization, selecciona Basic Auth e ingresa tu Client ID y Client Secret
- En Body, selecciona x-www-form-urlencoded y agrega una clave
grant_typecon el valorclient_credentials - Envía la solicitud
Respuesta
Una respuesta exitosa tendrá este aspecto:
{
"scope": "...",
"access_token": "Your Access Token",
"token_type": "Bearer",
"app_id": "APP-80W284485P519543T",
"expires_in": 32400,
"nonce": "..."
}
Copia el valor de access_token para usarlo en tu integración con Claude Desktop.
Detalles del token
- Tokens de Sandbox: Válidos por 3-8 horas
- Tokens de producción: Válidos por 8 horas
- Se recomienda implementar lógica de renovación de tokens antes de la expiración
Uso del token con Claude Desktop
Una vez que tengas tu token de acceso, actualiza el valor de PAYPAL_ACCESS_TOKEN en la configuración de tu conector de Claude Desktop:
{
"env": {
"PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
"PAYPAL_ENVIRONMENT": "SANDBOX"
}
}
Mejores prácticas
- Almacena el ID de cliente y el secreto de cliente de forma segura
- Implementa lógica de renovación de tokens para manejar la expiración
- Usa tokens específicos del entorno (sandbox para pruebas, producción para transacciones reales)
- Evita codificar tokens en el código de la aplicación
Aviso legal
El contenido generado por IA puede ser inexacto o incompleto. Los usuarios son responsables de verificar de forma independiente cualquier información antes de confiar en ella. PayPal no garantiza la precisión de los resultados y no es responsable de ninguna decisión, acción o consecuencia derivada de su uso.