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: สร้างผลิตภัณฑ์ใหม่ในแคตตาล็อก PayPallist_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 ของคุณ
-
สร้างบัญชีนักพัฒนา PayPal:
- ไปที่ แดชบอร์ดนักพัฒนา PayPal
- ลงทะเบียนหรือเข้าสู่ระบบด้วยข้อมูลประจำตัว PayPal ของคุณ
-
เข้าถึงข้อมูลประจำตัวของคุณ:
- ในแดชบอร์ดนักพัฒนา คลิกที่ Apps & Credentials ในเมนู
- สลับระหว่างโหมด Sandbox และ Live ตามความต้องการของคุณ
-
สร้างหรือดูแอป:
- หากต้องการสร้างแอปใหม่ คลิก Create App
- ตั้งชื่อแอปของคุณและเลือกบัญชีธุรกิจเพื่อเชื่อมโยง
- สำหรับแอปที่มีอยู่ คลิกที่ชื่อแอปเพื่อดูรายละเอียด
-
ดึงข้อมูลประจำตัว:
- เมื่อสร้างหรือเลือกแอปของคุณแล้ว คุณจะเห็นหน้าจอพร้อม:
- 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
- สร้างคำขอใหม่ไปยัง
https://api-m.sandbox.paypal.com/v1/oauth2/token - ตั้งค่า method เป็น POST
- ภายใต้ Authorization เลือก Basic Auth และป้อน Client ID และ Client Secret ของคุณ
- ภายใต้ Body เลือก x-www-form-urlencoded และเพิ่มคีย์
grant_typeด้วยค่าclient_credentials - ส่งคำขอ
การตอบกลับ
การตอบกลับที่สำเร็จจะมีลักษณะดังนี้:
{
"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"
}
}
แนวทางปฏิบัติที่ดีที่สุด
- จัดเก็บ client ID และ client secret อย่างปลอดภัย
- ใช้ตรรกะการรีเฟรชโทเค็นเพื่อจัดการกับการหมดอายุของโทเค็น
- ใช้โทเค็นเฉพาะสภาพแวดล้อม (sandbox สำหรับการทดสอบ, production สำหรับธุรกรรมจริง)
- หลีกเลี่ยงการเขียนโทเค็นแบบฮาร์ดโค้ดในโค้ดแอปพลิเคชัน
ข้อจำกัดความรับผิดชอบ
เนื้อหาที่สร้างโดย AI อาจไม่ถูกต้องหรือไม่สมบูรณ์ ผู้ใช้มีหน้าที่ตรวจสอบข้อมูลใด ๆ อย่างอิสระก่อนนำไปใช้ PayPal ไม่รับประกันความถูกต้องของผลลัพธ์ และไม่รับผิดชอบต่อการตัดสินใจ การกระทำ หรือผลที่ตามมาที่เกิดจากการใช้งาน