PayPal MCP Server

resmi

Server Model Context Protocol PayPal memungkinkan Anda untuk berintegrasi dengan API PayPal melalui pemanggilan fungsi. Protokol ini mendukung berbagai alat untuk berinteraksi dengan berbagai layanan PayPal.

Dokumentasi

PayPal Agent Toolkit

PayPal Agent Toolkit memungkinkan kerangka kerja agen populer termasuk Agent SDK OpenAI, LangChain, AI SDK Vercel, dan Model Context Protocol (MCP) untuk terintegrasi dengan API PayPal melalui pemanggilan fungsi. Toolkit ini mencakup dukungan untuk TypeScript dan dibangun di atas API PayPal serta SDK PayPal.

Alat yang tersedia

PayPal Agent toolkit menyediakan alat-alat berikut:

Faktur

  • create_invoice: Membuat faktur baru di sistem PayPal
  • list_invoices: Menampilkan daftar faktur dengan paginasi dan penyaringan opsional
  • get_invoice: Mengambil detail faktur tertentu
  • send_invoice: Mengirim faktur ke penerima
  • send_invoice_reminder: Mengirim pengingat untuk faktur yang sudah ada
  • cancel_sent_invoice: Membatalkan faktur yang sudah dikirim
  • generate_invoice_qr_code: Menghasilkan kode QR untuk faktur

Pembayaran

  • create_order: Membuat pesanan di sistem PayPal berdasarkan detail yang diberikan
  • get_order: Mengambil detail pesanan
  • pay_order: Memproses pembayaran untuk pesanan yang telah diotorisasi
  • create_refund: Memproses pengembalian dana untuk pembayaran yang telah ditangkap.
  • get_refund: Mendapatkan detail pengembalian dana tertentu.

Manajemen Sengketa

  • list_disputes: Mengambil ringkasan semua sengketa yang terbuka
  • get_dispute: Mengambil informasi detail sengketa tertentu
  • accept_dispute_claim: Menerima klaim sengketa

Pelacakan Pengiriman

  • create_shipment_tracking: Membuat catatan pelacakan pengiriman
  • get_shipment_tracking: Mengambil informasi pelacakan pengiriman
  • update_shipment_tracking: Memperbarui informasi pelacakan pengiriman

Manajemen Katalog

  • create_product: Membuat produk baru di katalog PayPal
  • list_products: Menampilkan daftar produk dengan paginasi dan penyaringan opsional
  • show_product_details: Mengambil detail produk tertentu

Manajemen Langganan

  • create_subscription_plan: Membuat paket langganan baru
  • list_subscription_plans: Menampilkan daftar paket langganan
  • show_subscription_plan_details: Mengambil detail paket langganan tertentu
  • create_subscription: Membuat langganan baru
  • show_subscription_details: Mengambil detail langganan tertentu
  • update_subscription: memperbarui langganan yang sudah ada
  • cancel_subscription: Membatalkan langganan aktif

Pelaporan dan Wawasan

  • list_transactions: Menampilkan daftar transaksi dengan paginasi dan penyaringan opsional
  • get_merchant_insights: Mengambil metrik intelijen bisnis dan analitik untuk pedagang

TypeScript

Instalasi

Anda tidak memerlukan kode sumber ini kecuali jika ingin memodifikasi paket. Jika Anda hanya ingin menggunakan paket, jalankan:

npm install @paypal/agent-toolkit

Persyaratan

  • Node 18+

Penggunaan

Pustaka ini perlu dikonfigurasi dengan client id dan secret akun Anda yang tersedia di Dasbor Pengembang PayPal.

Toolkit ini bekerja dengan AI SDK Vercel dan dapat diteruskan sebagai daftar alat. Untuk detail lebih lanjut, lihat contoh kami.

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

Untuk menggunakan mode sandbox, tambahkan konteks dalam konfigurasi Anda.

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

Menginisialisasi Alur Kerja

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

Penggunaan

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

Variabel Lingkungan

Variabel lingkungan berikut dapat digunakan:

  • PAYPAL_ACCESS_TOKEN: Token Akses PayPal Anda
  • PAYPAL_ENVIRONMENT: Atur ke SANDBOX untuk mode sandbox, PRODUCTION untuk produksi (default ke mode SANDBOX)

Panduan ini menjelaskan cara menghasilkan token akses untuk integrasi API PayPal, termasuk cara menemukan client ID dan client secret Anda.

Prasyarat

  • Akun Pengembang PayPal (untuk Sandbox)
  • Akun Bisnis PayPal (untuk produksi)

Menemukan Client ID dan Client Secret Anda

  1. Buat Akun Pengembang PayPal:

  2. Akses Kredensial Anda:

    • Di Dasbor Pengembang, klik Apps & Credentials di menu
    • Beralih antara mode Sandbox dan Live sesuai kebutuhan Anda
  3. Buat atau Lihat Aplikasi:

    • Untuk membuat aplikasi baru, klik Create App
    • Beri nama aplikasi Anda dan pilih akun Bisnis untuk dikaitkan dengannya
    • Untuk aplikasi yang sudah ada, klik nama aplikasi untuk melihat detail
  4. Ambil Kredensial:

    • Setelah aplikasi Anda dibuat atau dipilih, Anda akan melihat layar dengan:
      • Client ID: Pengidentifikasi publik untuk aplikasi Anda
      • Client Secret: Kunci pribadi (ditampilkan setelah mengklik "Show")
    • Simpan kredensial ini dengan aman karena diperlukan untuk menghasilkan token akses

Menghasilkan Token Akses

Menggunakan 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\"

Ganti CLIENT_ID dan CLIENT_SECRET dengan kredensial Anda yang sebenarnya. Untuk produksi, gunakan https://api-m.paypal.com alih-alih URL sandbox.

Menggunakan Postman

  1. Buat permintaan baru ke https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. Atur metode ke POST
  3. Di bawah Authorization, pilih Basic Auth dan masukkan Client ID dan Client Secret Anda
  4. Di bawah Body, pilih x-www-form-urlencoded dan tambahkan kunci grant_type dengan nilai client_credentials
  5. Kirim permintaan

Respons

Respons yang berhasil akan terlihat seperti:

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

Salin nilai access_token untuk digunakan dalam integrasi Claude Desktop Anda.

Detail Token

  • Token Sandbox: Berlaku selama 3-8 jam
  • Token Produksi: Berlaku selama 8 jam
  • Disarankan untuk menerapkan logika penyegaran token sebelum kedaluwarsa

Menggunakan Token dengan Claude Desktop

Setelah Anda memiliki token akses, perbarui nilai PAYPAL_ACCESS_TOKEN dalam konfigurasi konektor Claude Desktop Anda:

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

Praktik Terbaik

  1. Simpan client ID dan client secret dengan aman
  2. Terapkan logika penyegaran token untuk menangani kedaluwarsa token
  3. Gunakan token spesifik lingkungan (sandbox untuk pengujian, produksi untuk transaksi nyata)
  4. Hindari menyematkan token secara langsung dalam kode aplikasi

Penyangkalan

Konten yang dihasilkan AI mungkin tidak akurat atau tidak lengkap. Pengguna bertanggung jawab untuk memverifikasi informasi secara independen sebelum mengandalkannya. PayPal tidak memberikan jaminan mengenai keakuratan keluaran dan tidak bertanggung jawab atas keputusan, tindakan, atau konsekuensi apa pun yang dihasilkan dari penggunaannya.