PayPal MCP Server

resmi

PayPal Model Context Protocol sunucusu, fonksiyon çağrıları aracılığıyla PayPal API'leriyle entegrasyon sağlar. Bu protokol, farklı PayPal hizmetleriyle etkileşim kurmak için çeşitli araçları destekler.

Dokümantasyon

PayPal Agent Araç Seti

PayPal Agent Araç Seti, OpenAI'nin Agent SDK'sı, LangChain, Vercel'in AI SDK'sı ve Model Context Protocol (MCP) gibi popüler aracı çerçevelerinin, işlev çağırma yoluyla PayPal API'leriyle entegre olmasını sağlar. TypeScript desteği içerir ve PayPal API'leri ile PayPal SDK'ları üzerine inşa edilmiştir.

Mevcut araçlar

PayPal Agent araç seti aşağıdaki araçları sağlar:

Faturalar

  • create_invoice: PayPal sisteminde yeni bir fatura oluşturur
  • list_invoices: İsteğe bağlı sayfalama ve filtreleme ile faturaları listeler
  • get_invoice: Belirli bir faturanın ayrıntılarını getirir
  • send_invoice: Alıcılara fatura gönderir
  • send_invoice_reminder: Mevcut bir fatura için hatırlatma gönderir
  • cancel_sent_invoice: Gönderilmiş bir faturayı iptal eder
  • generate_invoice_qr_code: Bir fatura için QR kodu oluşturur

Ödemeler

  • create_order: Sağlanan ayrıntılara göre PayPal sisteminde bir sipariş oluşturur
  • get_order: Bir siparişin ayrıntılarını getirir
  • pay_order: Yetkilendirilmiş bir sipariş için ödemeyi işler
  • create_refund: Yakalanmış bir ödeme için iade işler.
  • get_refund: Belirli bir iadenin ayrıntılarını getirir.

İtiraz Yönetimi

  • list_disputes: Tüm açık itirazların bir özetini getirir
  • get_dispute: Belirli bir itirazın ayrıntılı bilgilerini getirir
  • accept_dispute_claim: Bir itiraz talebini kabul eder

Gönderi Takibi

  • create_shipment_tracking: Bir gönderi takip kaydı oluşturur
  • get_shipment_tracking: Gönderi takip bilgilerini getirir
  • update_shipment_tracking: Gönderi takip bilgilerini günceller

Katalog Yönetimi

  • create_product: PayPal kataloğunda yeni bir ürün oluşturur
  • list_products: İsteğe bağlı sayfalama ve filtreleme ile ürünleri listeler
  • show_product_details: Belirli bir ürünün ayrıntılarını getirir

Abonelik Yönetimi

  • create_subscription_plan: Yeni bir abonelik planı oluşturur
  • list_subscription_plans: Abonelik planlarını listeler
  • show_subscription_plan_details: Belirli bir abonelik planının ayrıntılarını getirir
  • create_subscription: Yeni bir abonelik oluşturur
  • show_subscription_details: Belirli bir aboneliğin ayrıntılarını getirir
  • update_subscription: Mevcut bir aboneliği günceller
  • cancel_subscription: Aktif bir aboneliği iptal eder

Raporlama ve İçgörüler

  • list_transactions: İsteğe bağlı sayfalama ve filtreleme ile işlemleri listeler
  • get_merchant_insights: Bir satıcı için iş zekası metriklerini ve analizlerini getirir

TypeScript

Kurulum

Paketi değiştirmek istemediğiniz sürece bu kaynak koduna ihtiyacınız yoktur. Sadece paketi kullanmak istiyorsanız şunu çalıştırın:

npm install @paypal/agent-toolkit

Gereksinimler

  • Node 18+

Kullanım

Kütüphanenin, PayPal Geliştirici Panosunda bulunan hesabınızın istemci kimliği ve gizli anahtarı ile yapılandırılması gerekir.

Araç seti, Vercel'in AI SDK'sı ile çalışır ve bir araç listesi olarak iletilebilir. Daha fazla ayrıntı için örneklerimize bakın

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 },
    },
  },
});

Korumalı alan modunu kullanmak için yapılandırmanıza bağlam ekleyin.

configuration: {
  context: {
    sandbox: true,
  }
}

İş Akışlarını Başlatma

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,
  },
});

Kullanım

Araç setini kullanma

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.`,
});

Ortam Değişkenleri

Aşağıdaki ortam değişkenleri kullanılabilir:

  • PAYPAL_ACCESS_TOKEN: PayPal Erişim Anahtarınız
  • PAYPAL_ENVIRONMENT: Korumalı alan modu için SANDBOX olarak, üretim için PRODUCTION olarak ayarlayın (varsayılan SANDBOX modudur)

Bu kılavuz, istemci kimliğinizi ve istemci gizli anahtarınızı nasıl bulacağınız da dahil olmak üzere, PayPal API entegrasyonu için bir erişim anahtarının nasıl oluşturulacağını açıklar.

Ön Koşullar

  • PayPal Geliştirici hesabı (Korumalı Alan için)
  • PayPal İşletme hesabı (üretim için)

İstemci Kimliğinizi ve İstemci Gizli Anahtarınızı Bulma

  1. Bir PayPal Geliştirici Hesabı Oluşturun:

  2. Kimlik Bilgilerinize Erişin:

    • Geliştirici Panosunda, menüden Uygulamalar ve Kimlik Bilgilerine tıklayın
    • İhtiyaçlarınıza bağlı olarak Korumalı Alan ve Canlı modlar arasında geçiş yapın
  3. Bir Uygulama Oluşturun veya Görüntüleyin:

    • Yeni bir uygulama oluşturmak için Uygulama Oluştura tıklayın
    • Uygulamanıza bir ad verin ve ilişkilendirmek için bir İşletme hesabı seçin
    • Mevcut uygulamalar için, ayrıntıları görüntülemek üzere uygulama adına tıklayın
  4. Kimlik Bilgilerini Alın:

    • Uygulamanız oluşturulduktan veya seçildikten sonra, aşağıdakileri içeren bir ekran göreceksiniz:
      • İstemci Kimliği: Uygulamanız için genel bir tanımlayıcı
      • İstemci Gizli Anahtarı: Özel bir anahtar ("Göster"e tıkladıktan sonra gösterilir)
    • Bu kimlik bilgilerini güvenli bir şekilde saklayın, çünkü erişim anahtarları oluşturmak için gereklidirler

Erişim Anahtarı Oluşturma

cURL Kullanma

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 ve CLIENT_SECRET yerine gerçek kimlik bilgilerinizi yazın. Üretim için, korumalı alan URL'si yerine https://api-m.paypal.com kullanın.

Postman Kullanma

  1. https://api-m.sandbox.paypal.com/v1/oauth2/token adresine yeni bir istek oluşturun
  2. Yöntemi POST olarak ayarlayın
  3. Yetkilendirme altında, Temel Yetkilendirmeyi seçin ve İstemci Kimliğiniz ile İstemci Gizli Anahtarınızı girin
  4. Gövde altında, x-www-form-urlencodedı seçin ve grant_type anahtarını client_credentials değeriyle ekleyin
  5. İsteği gönderin

Yanıt

Başarılı bir yanıt şöyle görünecektir:

{
  "scope": "...",
  "access_token": "Your Access Token",
  "token_type": "Bearer",
  "app_id": "APP-80W284485P519543T",
  "expires_in": 32400,
  "nonce": "..."
}

Claude Desktop entegrasyonunuzda kullanmak için access_token değerini kopyalayın.

Anahtar Ayrıntıları

  • Korumalı Alan Anahtarları: 3-8 saat geçerlidir
  • Üretim Anahtarları: 8 saat geçerlidir
  • Süre dolmadan önce anahtar yenileme mantığının uygulanması önerilir

Anahtarı Claude Desktop ile Kullanma

Erişim anahtarınızı aldıktan sonra, Claude Desktop bağlayıcı yapılandırmanızdaki PAYPAL_ACCESS_TOKEN değerini güncelleyin:

{
  "env": {
    "PAYPAL_ACCESS_TOKEN": "YOUR_NEW_ACCESS_TOKEN",
    "PAYPAL_ENVIRONMENT": "SANDBOX"
  }
}

En İyi Uygulamalar

  1. İstemci kimliğini ve istemci gizli anahtarını güvenli bir şekilde saklayın
  2. Anahtar süre dolmasını ele almak için anahtar yenileme mantığı uygulayın
  3. Ortama özgü anahtarlar kullanın (test için korumalı alan, gerçek işlemler için üretim)
  4. Uygulama kodunda anahtarları sabit olarak yazmaktan kaçının

Sorumluluk Reddi

Yapay zeka tarafından oluşturulan içerik hatalı veya eksik olabilir. Kullanıcılar, herhangi bir bilgiye güvenmeden önce bağımsız olarak doğrulamaktan sorumludur. PayPal, çıktı doğruluğu konusunda hiçbir garanti vermez ve kullanımından kaynaklanan kararlar, eylemler veya sonuçlardan sorumlu değildir.