PayPal

ทางการ

เซิร์ฟเวอร์ PayPal Model Context Protocol ช่วยให้คุณสามารถเชื่อมต่อกับ PayPal APIs ผ่านการเรียกใช้ฟังก์ชัน โปรโตคอลนี้รองรับเครื่องมือต่างๆ เพื่อโต้ตอบกับบริการ PayPal ที่หลากหลาย

GitHub
195
ลองใช้ MCP นี้ผู้สนับสนุน

คุณทำอะไรได้บ้างด้วย PayPal MCP?

  • สร้างและส่งใบแจ้งหนี้ — ขอให้ร่างใบแจ้งหนี้พร้อมรายการสินค้า จากนั้นส่งหรือกำหนดเวลาการแจ้งเตือนผ่าน create_invoice และ send_invoice
  • จัดการการชำระเงินและการคืนเงิน — สร้างคำสั่งซื้อ รับชำระเงิน หรือออกเงินคืนสำหรับการชำระเงินที่รับแล้ว โดยใช้ create_order และ create_refund
  • จัดการข้อโต้แย้ง — ดูรายการข้อโต้แย้งที่เปิดอยู่ ดูรายละเอียด หรือยอมรับข้อเรียกร้องโดยตรงผ่าน list_disputes และ accept_dispute_claim
  • ติดตามการจัดส่ง — สร้างบันทึกการติดตามสำหรับคำสั่งซื้อและดึงสถานะด้วย create_shipment_tracking และ get_shipment_tracking
  • จัดการการสมัครสมาชิก — ตั้งค่าแผนการสมัครสมาชิก สร้างการสมัครสมาชิก หรือยกเลิกการสมัครที่ใช้งานอยู่ผ่าน create_subscription_plan และ cancel_subscription
  • ดึงข้อมูลเชิงลึกของร้านค้า — ดึงประวัติธุรกรรมหรือข้อมูลวิเคราะห์ธุรกิจด้วย list_transactions และ get_merchant_insights

เซิร์ฟเวอร์ MCP แบบโฮสต์

npx add-mcp 'https://mcp.paypal.com/mcp'

ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ

เอกสาร

ชุดเครื่องมือ PayPal Agent

ชุดเครื่องมือ PayPal Agent ช่วยให้เฟรมเวิร์กเอเจนต์ยอดนิยม เช่น Agent SDK ของ OpenAI, LangChain, AI SDK ของ Vercel และ Model Context Protocol (MCP) สามารถเชื่อมต่อกับ PayPal APIs ผ่านการเรียกใช้ฟังก์ชัน รองรับ TypeScript และสร้างบนพื้นฐานของ PayPal APIs และ PayPal SDKs

เครื่องมือที่มีให้ใช้งาน

ชุดเครื่องมือ PayPal Agent มีเครื่องมือดังต่อไปนี้:

ใบแจ้งหนี้

  • create_invoice: สร้างใบแจ้งหนี้ใหม่ในระบบ PayPal รวมถึงรายละเอียดการเรียกเก็บเงินของผู้รับ รายการสินค้า หมายเหตุในใบแจ้งหนี้ ชุดสีที่กำหนดเอง ค่าจัดส่งเพิ่มเติม และตัวเลือกในการเปิดใช้งาน PAY_BY_BANK เป็นวิธีการชำระเงิน

  • list_invoices: แสดงรายการใบแจ้งหนี้พร้อมตัวเลือกการแบ่งหน้าและการกรอง

  • get_invoice: ดึงรายละเอียดของใบแจ้งหนี้ที่ระบุ

  • send_invoice: ส่งใบแจ้งหนี้ไปยังผู้รับ

  • send_invoice_reminder: ส่งการแจ้งเตือนสำหรับใบแจ้งหนี้ที่มีอยู่

  • cancel_sent_invoice: ยกเลิกใบแจ้งหนี้ที่ส่งไปแล้ว

  • generate_invoice_qr_code: สร้างรหัส QR สำหรับใบแจ้งหนี้

  • delete_invoice: ลบใบแจ้งหนี้แบบร่างหรือตามกำหนดการอย่างถาวร

  • generate_invoice_number: สร้างหมายเลขใบแจ้งหนี้ถัดไปที่ผู้ขายสามารถใช้ได้

  • search_invoicing: ค้นหาใบแจ้งหนี้หรือชุดใบแจ้งหนี้แบบประจำ

  • update_invoicing: อัปเดตใบแจ้งหนี้หรือชุดใบแจ้งหนี้แบบประจำที่มีอยู่ (แทนที่ทั้งหมด)

  • cancel_invoice_auto_reminder: ยกเลิกการแจ้งเตือนอัตโนมัติตามกำหนดการทั้งหมดสำหรับใบแจ้งหนี้

  • record_payment_for_invoice: บันทึกการชำระเงินภายนอกหรือด้วยตนเองสำหรับใบแจ้งหนี้

  • record_refund_for_invoice: บันทึกการคืนเงินสำหรับใบแจ้งหนี้

  • create_conditional_rules_for_invoice: สร้างกฎแบบมีเงื่อนไขสำหรับใบแจ้งหนี้ เช่น ส่วนลดการชำระเงินก่อนกำหนดหรือวันที่ยกเลิกอัตโนมัติ

  • create_recurring_series: สร้างชุดใบแจ้งหนี้แบบประจำที่สร้างและส่งใบแจ้งหนี้อัตโนมัติตามกำหนดการ

  • activate_recurring_series: เปิดใช้งานชุดใบแจ้งหนี้แบบประจำที่เป็นแบบร่าง

  • get_recurring_series: ดึงรายละเอียดของชุดใบแจ้งหนี้แบบประจำที่ระบุ

  • cancel_recurring_series: ยกเลิกชุดใบแจ้งหนี้แบบประจำที่ใช้งานอยู่

  • delete_recurring_series: ลบชุดใบแจ้งหนี้แบบประจำที่เป็นแบบร่าง

การชำระเงิน

  • 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: สร้างผลิตภัณฑ์ใหม่ในแคตตาล็อก PayPal
  • list_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

ชุดเครื่องมือทำงานร่วมกับ AI SDK ของ Vercel และสามารถส่งเป็นรายการเครื่องมือได้ สำหรับรายละเอียดเพิ่มเติม โปรดดู ตัวอย่าง ของเรา

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

หากต้องการใช้โหมด sandbox ให้เพิ่ม context ในการกำหนดค่าของคุณ

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

การเริ่มต้น 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,
  },
});

การใช้งาน

การใช้ชุดเครื่องมือ

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: PayPal Access Token ของคุณ
  • PAYPAL_ENVIRONMENT: ตั้งค่าเป็น SANDBOX สำหรับโหมด sandbox, PRODUCTION สำหรับโหมด production (ค่าเริ่มต้นคือโหมด SANDBOX)

คู่มือนี้อธิบายวิธีสร้าง access token สำหรับการเชื่อมต่อ PayPal API รวมถึงวิธีค้นหา client ID และ client secret ของคุณ

ข้อกำหนดเบื้องต้น

  • บัญชี PayPal Developer (สำหรับ Sandbox)
  • บัญชี PayPal Business (สำหรับ production)

การค้นหา Client ID และ Client Secret ของคุณ

  1. สร้างบัญชี PayPal Developer:

    • ไปที่ PayPal Developer Dashboard
    • ลงทะเบียนหรือเข้าสู่ระบบด้วยข้อมูลประจำตัว PayPal ของคุณ
  2. เข้าถึงข้อมูลประจำตัวของคุณ:

    • ใน Developer Dashboard คลิกที่ Apps & Credentials ในเมนู
    • สลับระหว่างโหมด Sandbox และ Live ตามความต้องการของคุณ
  3. สร้างหรือดูแอป:

    • หากต้องการสร้างแอปใหม่ คลิก Create App
    • ตั้งชื่อแอปของคุณและเลือกบัญชี Business เพื่อเชื่อมโยง
    • สำหรับแอปที่มีอยู่ คลิกที่ชื่อแอปเพื่อดูรายละเอียด
  4. ดึงข้อมูลประจำตัว:

    • เมื่อสร้างหรือเลือกแอปของคุณแล้ว คุณจะเห็นหน้าจอพร้อม:
      • Client ID: ตัวระบุสาธารณะสำหรับแอปของคุณ
      • Client Secret: คีย์ส่วนตัว (แสดงหลังจากคลิก "Show")
    • บันทึกข้อมูลประจำตัวเหล่านี้อย่างปลอดภัยเนื่องจากจำเป็นสำหรับการสร้าง access token

การสร้าง Access Token

การใช้ 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 sandbox

การใช้ Postman

  1. สร้างคำขอใหม่ไปยัง https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. ตั้งค่า method เป็น POST
  3. ภายใต้ Authorization เลือก Basic Auth และป้อน Client ID และ Client Secret ของคุณ
  4. ภายใต้ Body เลือก x-www-form-urlencoded และเพิ่มคีย์ grant_type ด้วยค่า client_credentials
  5. ส่งคำขอ

การตอบกลับ

การตอบกลับที่สำเร็จจะมีลักษณะดังนี้:

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

คัดลอกค่า access_token เพื่อใช้ในการเชื่อมต่อ Claude Desktop ของคุณ

รายละเอียด Token

  • Sandbox Tokens: ใช้ได้ 3-8 ชั่วโมง
  • Production Tokens: ใช้ได้ 8 ชั่วโมง
  • แนะนำให้ใช้ตรรกะการรีเฟรช token ก่อนหมดอายุ

การใช้ Token กับ Claude Desktop

เมื่อคุณมี access token แล้ว ให้อัปเดตค่า PAYPAL_ACCESS_TOKEN ในการกำหนดค่าตัวเชื่อมต่อ Claude Desktop ของคุณ:

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

แนวทางปฏิบัติที่ดีที่สุด

  1. เก็บ client ID และ client secret อย่างปลอดภัย
  2. ใช้ตรรกะการรีเฟรช token เพื่อจัดการกับการหมดอายุของ token
  3. ใช้ token เฉพาะสภาพแวดล้อม (sandbox สำหรับการทดสอบ, production สำหรับธุรกรรมจริง)
  4. หลีกเลี่ยงการเขียน token ฮาร์ดโค้ดในโค้ดแอปพลิเคชัน

ข้อจำกัดความรับผิดชอบ

เนื้อหาที่สร้างโดย AI อาจไม่ถูกต้องหรือไม่สมบูรณ์ ผู้ใช้มีหน้าที่ตรวจสอบข้อมูลใด ๆ อย่างอิสระก่อนนำไปใช้ PayPal ไม่รับประกันความถูกต้องของผลลัพธ์และไม่รับผิดชอบต่อการตัดสินใจ การกระทำ หรือผลที่ตามมาที่เกิดจากการใช้งาน