PayPal MCP Server
официальныйСервер протокола контекста модели PayPal позволяет интегрироваться с API PayPal через вызов функций. Этот протокол поддерживает различные инструменты для взаимодействия с разными сервисами PayPal.
Документация
PayPal Agent Toolkit
PayPal Agent Toolkit позволяет популярным агентским фреймворкам, включая OpenAI Agent SDK, LangChain, Vercel AI SDK и Model Context Protocol (MCP), интегрироваться с API PayPal через вызов функций. Он включает поддержку TypeScript и построен на основе API PayPal и PayPal SDK.
Доступные инструменты
PayPal Agent Toolkit предоставляет следующие инструменты:
Счета
create_invoice: Создать новый счет в системе PayPallist_invoices: Получить список счетов с возможностью пагинации и фильтрацииget_invoice: Получить детали конкретного счетаsend_invoice: Отправить счет получателямsend_invoice_reminder: Отправить напоминание по существующему счетуcancel_sent_invoice: Отменить отправленный счетgenerate_invoice_qr_code: Сгенерировать QR-код для счета
Платежи
create_order: Создать заказ в системе PayPal на основе предоставленных данныхget_order: Получить детали заказаpay_order: Обработать платеж по авторизованному заказуcreate_refund: Оформить возврат по захваченному платежуget_refund: Получить детали конкретного возврата
Управление спорами
list_disputes: Получить сводку всех открытых споровget_dispute: Получить подробную информацию о конкретном спореaccept_dispute_claim: Принять претензию по спору
Отслеживание отправлений
create_shipment_tracking: Создать запись отслеживания отправленияget_shipment_tracking: Получить информацию об отслеживании отправленияupdate_shipment_tracking: Обновить информацию об отслеживании отправления
Управление каталогом
create_product: Создать новый продукт в каталоге PayPallist_products: Получить список продуктов с возможностью пагинации и фильтрацииshow_product_details: Получить детали конкретного продукта
Управление подписками
create_subscription_plan: Создать новый план подпискиlist_subscription_plans: Получить список планов подпискиshow_subscription_plan_details: Получить детали конкретного плана подпискиcreate_subscription: Создать новую подпискуshow_subscription_details: Получить детали конкретной подпискиupdate_subscription: Обновить существующую подпискуcancel_subscription: Отменить активную подписку
Отчетность и аналитика
list_transactions: Получить список транзакций с возможностью пагинации и фильтрацииget_merchant_insights: Получить бизнес-аналитику и метрики для продавца
TypeScript
Установка
Вам не нужен этот исходный код, если вы не хотите изменять пакет. Если вы просто хотите использовать пакет, выполните:
npm install @paypal/agent-toolkit
Требования
- Node 18+
Использование
Библиотеку необходимо настроить с использованием client id и secret вашего аккаунта, которые доступны в PayPal Developer Dashboard.
Инструментарий работает с Vercel AI SDK и может быть передан в виде списка инструментов. Для получения дополнительной информации обратитесь к нашим примерам.
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,
list: true,
send: true,
sendReminder: true,
cancel: true,
generateQRC: 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 },
},
},
});
Чтобы использовать режим песочницы, добавьте контекст в вашу конфигурацию.
configuration: {
context: {
sandbox: true,
}
}
Инициализация рабочих процессов
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,
},
});
Использование
Использование инструментария
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.`,
});
Переменные окружения
Можно использовать следующие переменные окружения:
PAYPAL_ACCESS_TOKEN: Ваш токен доступа PayPalPAYPAL_ENVIRONMENT: УстановитеSANDBOXдля режима песочницы,PRODUCTIONдля production (по умолчанию используется режимSANDBOX)
В этом руководстве объясняется, как сгенерировать токен доступа для интеграции с API PayPal, включая поиск вашего client ID и client secret.
Предварительные требования
- Аккаунт разработчика PayPal (для песочницы)
- Бизнес-аккаунт PayPal (для production)
Поиск вашего Client ID и Client Secret
-
Создайте аккаунт разработчика PayPal:
- Перейдите в PayPal Developer Dashboard
- Зарегистрируйтесь или войдите, используя свои учетные данные PayPal
-
Получите доступ к учетным данным:
- В Developer Dashboard нажмите Apps & Credentials в меню
- Переключайтесь между режимами Sandbox и Live в зависимости от ваших потребностей
-
Создайте или просмотрите приложение:
- Чтобы создать новое приложение, нажмите Create App
- Дайте приложению имя и выберите бизнес-аккаунт для связи с ним
- Для существующих приложений нажмите на имя приложения, чтобы просмотреть детали
-
Получите учетные данные:
- После создания или выбора приложения вы увидите экран с:
- Client ID: Публичный идентификатор вашего приложения
- Client Secret: Приватный ключ (отображается после нажатия "Show")
- Сохраните эти учетные данные в безопасном месте, так как они необходимы для генерации токенов доступа
- После создания или выбора приложения вы увидите экран с:
Генерация токена доступа
Использование 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 на ваши реальные учетные данные. Для production используйте https://api-m.paypal.com вместо URL песочницы.
Использование Postman
- Создайте новый запрос к
https://api-m.sandbox.paypal.com/v1/oauth2/token - Установите метод POST
- В разделе Authorization выберите Basic Auth и введите ваш Client ID и Client Secret
- В разделе Body выберите x-www-form-urlencoded и добавьте ключ
grant_typeсо значениемclient_credentials - Отправьте запрос
Ответ
Успешный ответ будет выглядеть так:
{
"scope": "...",
"access_token": "Your Access Token",
"token_type": "Bearer",
"app_id": "APP-80W284485P519543T",
"expires_in": 32400,
"nonce": "..."
}
Скопируйте значение access_token для использования в интеграции с Claude Desktop.
Детали токена
- Токены песочницы: Действительны 3-8 часов
- Production токены: Действительны 8 часов
- Рекомендуется реализовать логику обновления токена до истечения срока действия
Использование токена с Claude Desktop
Получив токен доступа, обновите значение PAYPAL_ACCESS_TOKEN в конфигурации вашего коннектора Claude Desktop:
{
"env": {
"PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
"PAYPAL_ENVIRONMENT": "SANDBOX"
}
}
Лучшие практики
- Храните client ID и client secret в безопасности
- Реализуйте логику обновления токена для обработки истечения срока действия
- Используйте токены, специфичные для окружения (песочница для тестирования, production для реальных транзакций)
- Избегайте жесткого кодирования токенов в коде приложения
Отказ от ответственности
Контент, сгенерированный ИИ, может быть неточным или неполным. Пользователи несут ответственность за независимую проверку любой информации, прежде чем полагаться на нее. PayPal не дает никаких гарантий относительно точности вывода и не несет ответственности за любые решения, действия или последствия, возникшие в результате его использования.