PayPal
oficialO servidor do Protocolo de Contexto de Modelo PayPal permite que você integre com as APIs do PayPal por meio de chamadas de função. Este protocolo suporta várias ferramentas para interagir com diferentes serviços do PayPal.
O que você pode fazer com PayPal MCP?
- Criar e enviar faturas — Peça para elaborar uma fatura com itens de linha e, em seguida, envie-a ou agende um lembrete via
create_invoiceesend_invoice. - Gerenciar pagamentos e reembolsos — Crie um pedido, capture o pagamento ou emita um reembolso para um pagamento capturado usando
create_orderecreate_refund. - Lidar com disputas — Liste disputas abertas, veja detalhes ou aceite uma reclamação diretamente por meio de
list_disputeseaccept_dispute_claim. - Rastrear envios — Crie um registro de rastreamento para um pedido e recupere seu status com
create_shipment_trackingeget_shipment_tracking. - Gerenciar assinaturas — Configure um plano de assinatura, crie uma assinatura ou cancele uma ativa via
create_subscription_planecancel_subscription. - Obter insights do comerciante — Recupere o histórico de transações ou análises de negócios com
list_transactionseget_merchant_insights.
Servidor MCP hospedado
npx add-mcp 'https://mcp.paypal.com/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
PayPal Agent Toolkit
O PayPal Agent Toolkit permite que frameworks populares de agentes, incluindo o Agent SDK da OpenAI, LangChain, AI SDK da Vercel e Model Context Protocol (MCP), integrem-se às APIs do PayPal por meio de chamadas de função. Ele inclui suporte para TypeScript e é construído sobre as APIs do PayPal e os SDKs do PayPal.
Ferramentas disponíveis
O PayPal Agent toolkit fornece as seguintes ferramentas:
Faturas
-
create_invoice: Crie uma nova fatura no sistema PayPal, incluindo detalhes de cobrança do destinatário, itens de linha, uma nota na fatura, um tema de cor personalizado, um custo de envio opcional e uma opção para habilitar PAY_BY_BANK como método de pagamento -
list_invoices: Liste faturas com paginação e filtragem opcionais -
get_invoice: Recupere detalhes de uma fatura específica -
send_invoice: Envie uma fatura aos destinatários -
send_invoice_reminder: Envie um lembrete para uma fatura existente -
cancel_sent_invoice: Cancele uma fatura enviada -
generate_invoice_qr_code: Gere um código QR para uma fatura -
delete_invoice: Exclua permanentemente uma fatura em rascunho ou agendada -
generate_invoice_number: Gere o próximo número de fatura disponível para o comerciante -
search_invoicing: Pesquise faturas ou séries de faturas recorrentes -
update_invoicing: Atualize uma fatura existente ou série de faturas recorrentes (substituição completa) -
cancel_invoice_auto_reminder: Cancele todos os lembretes automáticos agendados para uma fatura -
record_payment_for_invoice: Registre um pagamento externo ou manual contra uma fatura -
record_refund_for_invoice: Registre um reembolso contra uma fatura -
create_conditional_rules_for_invoice: Crie regras condicionais para uma fatura, como desconto por pagamento antecipado ou data de cancelamento automático -
create_recurring_series: Crie uma série de faturas recorrentes que gera e envia faturas automaticamente em um cronograma -
activate_recurring_series: Ative uma série de faturas recorrentes em rascunho -
get_recurring_series: Recupere detalhes de uma série específica de faturas recorrentes -
cancel_recurring_series: Cancele uma série de faturas recorrentes ativa -
delete_recurring_series: Exclua uma série de faturas recorrentes em rascunho
Pagamentos
create_order: Crie um pedido no sistema PayPal com base nos detalhes fornecidosget_order: Recupere os detalhes de um pedidopay_order: Processe o pagamento de um pedido autorizadocreate_refund: Processe um reembolso para um pagamento capturadoget_refund: Obtenha os detalhes de um reembolso específico
Gerenciamento de Disputas
list_disputes: Recupere um resumo de todas as disputas abertasget_dispute: Recupere informações detalhadas de uma disputa específicaaccept_dispute_claim: Aceite uma reivindicação de disputa
Rastreamento de Envios
create_shipment_tracking: Crie um registro de rastreamento de envioget_shipment_tracking: Recupere informações de rastreamento de envioupdate_shipment_tracking: Atualize informações de rastreamento de envio
Gerenciamento de Catálogo
create_product: Crie um novo produto no catálogo do PayPallist_products: Liste produtos com paginação e filtragem opcionaisshow_product_details: Recupere detalhes de um produto específico
Gerenciamento de Assinaturas
create_subscription_plan: Crie um novo plano de assinaturalist_subscription_plans: Liste planos de assinaturashow_subscription_plan_details: Recupere detalhes de um plano de assinatura específicocreate_subscription: Crie uma nova assinaturashow_subscription_details: Recupere detalhes de uma assinatura específicaupdate_subscription: Atualize uma assinatura existentecancel_subscription: Cancele uma assinatura ativa
Relatórios e Insights
list_transactions: Liste transações com paginação e filtragem opcionaisget_merchant_insights: Recupere métricas de inteligência de negócios e análises para um comerciante
TypeScript
Instalação
Você não precisa deste código-fonte, a menos que queira modificar o pacote. Se você apenas quiser usar o pacote, execute:
npm install @paypal/agent-toolkit
Requisitos
- Node 18+
Uso
A biblioteca precisa ser configurada com o client id e o secret da sua conta, que estão disponíveis no seu PayPal Developer Dashboard.
O toolkit funciona com o AI SDK da Vercel e pode ser passado como uma lista de ferramentas. Para mais detalhes, consulte nossos exemplos
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 o modo sandbox, adicione contexto dentro da sua configuração.
configuration: {
context: {
sandbox: true,
}
}
Inicializando os Workflows
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
Usando o 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.`,
});
Variáveis de Ambiente
As seguintes variáveis de ambiente podem ser usadas:
PAYPAL_ACCESS_TOKEN: Seu PayPal Access TokenPAYPAL_ENVIRONMENT: Defina comoSANDBOXpara modo sandbox,PRODUCTIONpara produção (o padrão é o modoSANDBOX)
Este guia explica como gerar um access token para integração com a API do PayPal, incluindo como encontrar seu client ID e client secret.
Pré-requisitos
- Conta de desenvolvedor PayPal (para Sandbox)
- Conta comercial PayPal (para produção)
Encontrando Seu Client ID e Client Secret
-
Crie uma Conta de Desenvolvedor PayPal:
- Acesse o PayPal Developer Dashboard
- Cadastre-se ou faça login com suas credenciais do PayPal
-
Acesse Suas Credenciais:
- No Developer Dashboard, clique em Apps & Credentials no menu
- Alterne entre os modos Sandbox e Live conforme sua necessidade
-
Crie ou Visualize um App:
- Para criar um novo app, clique em Create App
- Dê um nome ao seu app e selecione uma conta comercial para associar a ele
- Para apps existentes, clique no nome do app para visualizar os detalhes
-
Recupere as Credenciais:
- Depois que seu app for criado ou selecionado, você verá uma tela com:
- Client ID: Um identificador público para seu app
- Client Secret: Uma chave privada (exibida após clicar em "Show")
- Salve essas credenciais com segurança, pois elas são necessárias para gerar access tokens
- Depois que seu app for criado ou selecionado, você verá uma tela com:
Gerando um Access Token
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\"
Substitua CLIENT_ID e CLIENT_SECRET pelas suas credenciais reais. Para produção, use https://api-m.paypal.com em vez da URL do sandbox.
Usando Postman
- Crie uma nova solicitação para
https://api-m.sandbox.paypal.com/v1/oauth2/token - Defina o método como POST
- Em Authorization, selecione Basic Auth e insira seu Client ID e Client Secret
- Em Body, selecione x-www-form-urlencoded e adicione uma chave
grant_typecom valorclient_credentials - Envie a solicitação
Resposta
Uma resposta bem-sucedida terá a seguinte aparência:
{
"scope": "...",
"access_token": "Your Access Token",
"token_type": "Bearer",
"app_id": "APP-80W284485P519543T",
"expires_in": 32400,
"nonce": "..."
}
Copie o valor de access_token para uso na sua integração com o Claude Desktop.
Detalhes do Token
- Tokens de Sandbox: Válidos por 3-8 horas
- Tokens de Produção: Válidos por 8 horas
- Recomenda-se implementar lógica de renovação de token antes da expiração
Usando o Token com o Claude Desktop
Depois de obter seu access token, atualize o valor de PAYPAL_ACCESS_TOKEN na configuração do conector do Claude Desktop:
{
"env": {
"PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
"PAYPAL_ENVIRONMENT": "SANDBOX"
}
}
Melhores Práticas
- Armazene o client ID e o client secret com segurança
- Implemente lógica de renovação de token para lidar com a expiração
- Use tokens específicos do ambiente (sandbox para testes, produção para transações reais)
- Evite codificar tokens no código do aplicativo
Aviso Legal
Conteúdo gerado por IA pode ser impreciso ou incompleto. Os usuários são responsáveis por verificar de forma independente qualquer informação antes de confiar nela. O PayPal não garante a precisão da saída e não é responsável por quaisquer decisões, ações ou consequências resultantes do seu uso.