PayPal MCP Server

ทางการ

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

เอกสาร

PayPal Agent Toolkit

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

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

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

ใบแจ้งหนี้

  • create_invoice: สร้างใบแจ้งหนี้ใหม่ในระบบ PayPal
  • list_invoices: แสดงรายการใบแจ้งหนี้พร้อมตัวเลือกการแบ่งหน้าและการกรอง
  • get_invoice: เรียกดูรายละเอียดของใบแจ้งหนี้ที่ระบุ
  • send_invoice: ส่งใบแจ้งหนี้ไปยังผู้รับ
  • send_invoice_reminder: ส่งการแจ้งเตือนสำหรับใบแจ้งหนี้ที่มีอยู่
  • cancel_sent_invoice: ยกเลิกใบแจ้งหนี้ที่ส่งแล้ว
  • generate_invoice_qr_code: สร้าง QR code สำหรับใบแจ้งหนี้

การชำระเงิน

  • 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

ชุดเครื่องมือนี้ทำงานร่วมกับ Vercel's 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: PayPal Access Token ของคุณ
  • PAYPAL_ENVIRONMENT: ตั้งค่าเป็น SANDBOX สำหรับโหมดแซนด์บ็อกซ์, PRODUCTION สำหรับโหมดการใช้งานจริง (ค่าเริ่มต้นคือโหมด SANDBOX)

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

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

  • บัญชี PayPal Developer (สำหรับ Sandbox)
  • บัญชี PayPal Business (สำหรับการใช้งานจริง)

การค้นหา 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 ด้วยข้อมูลประจำตัวจริงของคุณ สำหรับการใช้งานจริง ให้ใช้ https://api-m.paypal.com แทน URL ของแซนด์บ็อกซ์

การใช้ Postman

  1. สร้างคำขอใหม่ไปยัง https://api-m.sandbox.paypal.com/v1/oauth2/token
  2. ตั้งค่าเมธอดเป็น 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 ของคุณ

รายละเอียดโทเค็น

  • โทเค็น Sandbox: มีอายุ 3-8 ชั่วโมง
  • โทเค็นการใช้งานจริง: มีอายุ 8 ชั่วโมง
  • แนะนำให้ใช้ตรรกะการรีเฟรชโทเค็นก่อนหมดอายุ

การใช้โทเค็นกับ 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. ใช้ตรรกะการรีเฟรชโทเค็นเพื่อจัดการการหมดอายุของโทเค็น
  3. ใช้โทเค็นเฉพาะสภาพแวดล้อม (แซนด์บ็อกซ์สำหรับการทดสอบ, การใช้งานจริงสำหรับธุรกรรมจริง)
  4. หลีกเลี่ยงการฮาร์ดโค้ดโทเค็นในโค้ดแอปพลิเคชัน

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

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