PayPal

ทางการ

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

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

ขอให้ผู้ช่วยของคุณ "สร้างใบแจ้งหนี้และส่งให้" หรือจัดการงาน PayPal อื่นๆ เช่น การชำระเงิน ข้อพิพาท และการจัดส่ง

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

เอกสาร

PayPal Agent Toolkit

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

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

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

ใบแจ้งหนี้ (Invoices)

  • create_invoice: สร้างใบแจ้งหนี้ใหม่ในระบบ PayPal รวมถึงรายละเอียดการเรียกเก็บเงินของผู้รับ รายการสินค้า หมายเหตุในใบแจ้งหนี้ ชุดสีที่กำหนดเอง ค่าจัดส่งเพิ่มเติม และตัวเลือกในการเปิดใช้งาน PAY_BY_BANK เป็นวิธีการชำระเงิน
  • create_recurring_series: สร้างชุดใบแจ้งหนี้แบบเกิดซ้ำที่สร้างและส่งใบแจ้งหนี้โดยอัตโนมัติตามกำหนดเวลา
  • list_invoices: แสดงรายการใบแจ้งหนี้พร้อมตัวเลือกการแบ่งหน้าและการกรอง
  • get_invoice: ดึงรายละเอียดของใบแจ้งหนี้เฉพาะ
  • send_invoice: ส่งใบแจ้งหนี้ไปยังผู้รับ
  • send_invoice_reminder: ส่งการแจ้งเตือนสำหรับใบแจ้งหนี้ที่มีอยู่
  • cancel_sent_invoice: ยกเลิกใบแจ้งหนี้ที่ส่งไปแล้ว
  • generate_invoice_qr_code: สร้างรหัส QR สำหรับใบแจ้งหนี้

การชำระเงิน (Payments)

  • create_order: สร้างคำสั่งซื้อในระบบ PayPal ตามรายละเอียดที่ให้ไว้
  • get_order: ดึงรายละเอียดของคำสั่งซื้อ
  • pay_order: ประมวลผลการชำระเงินสำหรับคำสั่งซื้อที่ได้รับอนุมัติ
  • create_refund: ประมวลผลการคืนเงินสำหรับการชำระเงินที่ถูกจับเงินแล้ว
  • get_refund: รับรายละเอียดสำหรับการคืนเงินเฉพาะ

การจัดการข้อพิพาท (Dispute Management)

  • list_disputes: ดึงข้อมูลสรุปของข้อพิพาทที่เปิดอยู่ทั้งหมด
  • get_dispute: ดึงข้อมูลโดยละเอียดของข้อพิพาทเฉพาะ
  • accept_dispute_claim: ยอมรับการเรียกร้องข้อพิพาท

การติดตามการจัดส่ง (Shipment Tracking)

  • create_shipment_tracking: สร้างบันทึกการติดตามการจัดส่ง
  • get_shipment_tracking: ดึงข้อมูลการติดตามการจัดส่ง
  • update_shipment_tracking: อัปเดตข้อมูลการติดตามการจัดส่ง

การจัดการแคตตาล็อก (Catalog Management)

  • create_product: สร้างผลิตภัณฑ์ใหม่ในแคตตาล็อก PayPal
  • list_products: แสดงรายการผลิตภัณฑ์พร้อมตัวเลือกการแบ่งหน้าและการกรอง
  • show_product_details: ดึงรายละเอียดของผลิตภัณฑ์เฉพาะ

การจัดการการสมัครสมาชิก (Subscription Management)

  • create_subscription_plan: สร้างแผนการสมัครสมาชิกใหม่
  • list_subscription_plans: แสดงรายการแผนการสมัครสมาชิก
  • show_subscription_plan_details: ดึงรายละเอียดของแผนการสมัครสมาชิกเฉพาะ
  • create_subscription: สร้างการสมัครสมาชิกใหม่
  • show_subscription_details: ดึงรายละเอียดของการสมัครสมาชิกเฉพาะ
  • update_subscription: อัปเดตการสมัครสมาชิกที่มีอยู่
  • cancel_subscription: ยกเลิกการสมัครสมาชิกที่ใช้งานอยู่

การรายงานและข้อมูลเชิงลึก (Reporting and Insights)

  • list_transactions: แสดงรายการธุรกรรมพร้อมตัวเลือกการแบ่งหน้าและการกรอง
  • get_merchant_insights: ดึงเมตริกและข้อมูลวิเคราะห์ทางธุรกิจสำหรับผู้ค้า

TypeScript

การติดตั้ง

คุณไม่จำเป็นต้องใช้ซอร์สโค้ดนี้ เว้นแต่คุณต้องการแก้ไขแพ็กเกจ หากคุณเพียงต้องการใช้แพ็กเกจ ให้รัน:

npm install @paypal/agent-toolkit

ข้อกำหนด

  • Node 18+

การใช้งาน

ไลบรารีจำเป็นต้องกำหนดค่าด้วย client id และ secret ของบัญชีของคุณ ซึ่งมีอยู่ใน แดชบอร์ดนักพัฒนา PayPal

ชุดเครื่องมือทำงานร่วมกับ Vercel 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,
        createRecurringSeries: 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 },
    },
  },
});

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

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

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

  • บัญชีนักพัฒนา PayPal (สำหรับ Sandbox)
  • บัญชีธุรกิจ PayPal (สำหรับ production)

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

  1. สร้างบัญชีนักพัฒนา PayPal:

  2. เข้าถึงข้อมูลประจำตัวของคุณ:

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

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

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

การสร้างโทเค็นการเข้าถึง

การใช้ 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 ของคุณ

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

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

การใช้โทเค็นกับ Claude Desktop

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

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

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

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

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

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