ข้ามไปยังเนื้อหา

การชำระเงินแบบ Agentic

คุณสามารถค้นหาโรงแรม เลือกห้องพัก และทำการจองผ่านเอเจนต์ AI ของคุณ เชื่อมต่อกับ Wink และกระเป๋าเงินสำหรับชำระเงิน จากนั้นบอกว่าคุณต้องการพักที่ไหน Wink ใช้ Machine Payments Protocol (MPP) เพื่อรับการชำระเงินจากกระเป๋าเงินและส่งคืนการยืนยันการจองของคุณ

สำหรับกระบวนการจองที่สมบูรณ์ เอเจนต์ของคุณต้องมี Wink Booking Engine และ กระเป๋าเงินสำหรับชำระเงิน

การเชื่อมต่อทำหน้าที่อะไรวิธีเพิ่ม
Wink Booking Engine — จำเป็นค้นหาปลายทาง ค้นหาโรงแรมและอัตราห้องพัก ออกใบเสนอราคาและยืนยันการจอง รวมถึงดึงข้อมูลการจองและใบเสร็จของคุณเพิ่ม https://api.wink.travel/mcp/booking-engine เป็นเซิร์ฟเวอร์ HTTP MCP ระยะไกล
กระเป๋าเงินสำหรับชำระเงิน — จำเป็นสำหรับการชำระเงินให้ข้อมูลรับรองการชำระเงินหลังจากที่คุณอนุมัติการซื้อเชื่อมต่อกระเป๋าเงินที่รองรับ Stripe Shared Payment Tokens ดูตัวอย่าง Link ด้านล่าง
Wink Reference — ตัวเลือกค้นหาข้อมูลประเทศ สกุลเงิน และข้อมูลอ้างอิงอื่น ๆhttps://api.wink.travel/mcp/reference
Wink Docs — ตัวเลือกช่วยให้เอเจนต์ของคุณอ่านเอกสารและสัญญา APIhttps://docs.mcp.wink.travel/mcp

Booking Engine MCP มีเครื่องมือที่จำเป็นสำหรับกระบวนการจองของนักเดินทางแล้ว เมื่อเปิดใช้งานการจองและการชำระเงินแบบ agentic สำหรับสภาพแวดล้อมนั้น MCP การชำระเงินแยกต่างหากของ Wink สำหรับการดำเนินการทางการเงิน เช่น บัญชีแยกประเภทและการถอนเงิน ไม่จำเป็นสำหรับการชำระเงินค่าห้องพัก

  1. เปิดการตั้งค่า MCP หรือคอนเนคเตอร์ของเอเจนต์ของคุณและเพิ่ม URL ของ Booking Engine ข้างต้น ตั้งชื่อเช่น Wink Booking
  2. เอเจนต์ของคุณจะเปิดหน้าลงชื่อเข้าใช้ Wink ในเบราว์เซอร์ ลงชื่อเข้าใช้ด้วยบัญชี Wink ที่คุณต้องการจอง
  3. บนหน้าจอการยินยอม เลือกสิทธิ์ที่เอเจนต์ของคุณต้องการ จากนั้นอนุมัติการเชื่อมต่อ
  4. กลับไปที่เอเจนต์ของคุณ มันจะโหลดเครื่องมือที่มีและจัดการการตรวจสอบสิทธิ์สำหรับการเรียก MCP ต่อไป

สำหรับกระบวนการนี้ ให้เลือก:

สิทธิ์เหตุผลที่ต้องการ
การเข้าถึงเอเจนต์ AI (mcp.read)อนุญาตให้เอเจนต์ของคุณเชื่อมต่อกับ Wink MCP
การอ่านการตลาด (marketing.read)ให้เอเจนต์ค้นหาการตั้งค่าการจองของบัญชีของคุณที่เรียกว่าการปรับแต่ง บัญชีของคุณต้องมีสิทธิ์เข้าถึงการตั้งค่านี้ด้วย
การเขียนการชำระเงิน (payment.write)ให้เอเจนต์ชำระเงินสำหรับใบเสนอราคาและยืนยันการจอง

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

สำหรับการชำระเงินผ่าน Stripe ตัวเลือกหนึ่งคือ กระเป๋าเงินเอเจนต์ของ Link หากไคลเอนต์ของคุณรองรับเซิร์ฟเวอร์ MCP ท้องถิ่นและติดตั้ง Node.js แล้ว ให้เพิ่มรายการนี้ในการตั้งค่า MCP:

{
"mcpServers": {
"link": {
"command": "npx",
"args": ["@stripe/link-cli", "--mcp"]
}
}
}

ขอให้เอเจนต์ของคุณเชื่อมต่อบัญชี Link ของคุณ จากนั้นทำตามลิงก์ยืนยันที่เอเจนต์ให้มาและอนุมัติการเชื่อมต่อ Link จะจัดหา Shared Payment Token ที่ใช้ชำระเงินสำหรับการจอง Link รองรับบัญชีสหรัฐฯ ในปัจจุบัน ตรวจสอบขีดจำกัดการใช้จ่ายก่อนจอง ดู คู่มือการตั้งค่า Link และ การตั้งค่า MCP

ถ้าเอเจนต์ของคุณมีการเชื่อมต่อกระเป๋าเงินที่เข้ากันได้อยู่แล้ว ให้ใช้การเชื่อมต่อนั้น การตั้งค่ากระเป๋าเงินและการอนุมัติการชำระเงินแยกจากการลงชื่อเข้าใช้ Wink

ตัวอย่าง:

ค้นหาห้องพักในกรุงเทพฯ สำหรับผู้ใหญ่ 2 คน ตั้งแต่วันที่ 15 ถึง 17 มกราคม 2027 แสดงตัวเลือกที่มี ราคาเต็ม และเงื่อนไขการยกเลิกก่อนที่ฉันจะเลือก

เอเจนต์ของคุณสามารถค้นหาบัญชี Wink ที่คุณเข้าถึงได้และการตั้งค่าการจองของพวกเขา หากคุณมีหลายบัญชี ให้บอกเอเจนต์ว่าต้องการใช้บัญชีใด หากคุณกำลังจองผ่านลิงก์การจองหรือการตั้งค่าที่ให้มา ให้ส่งข้อมูลนั้นให้เอเจนต์แทน

เอเจนต์จะระบุปลายทาง ตรวจสอบโรงแรมที่มี และโหลดอัตราห้องสำหรับวันที่คุณเลือก เลือกห้องและขอใบเสนอราคา

กระบวนการชำระเงินนี้รองรับ ห้องเดียว ราคาตั้งเป็น USD สำหรับผู้ใหญ่เท่านั้น ใบเสนอราคาจะมีเวลาหมดอายุ การขอใบเสนอราคาไม่ได้เรียกเก็บเงินหรือยืนยันการจอง

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

กระเป๋าเงินจะให้ Stripe Shared Payment Token เพื่อชำระเงินสำหรับใบเสนอราคา

การชำระเงินด้วย Tempo stablecoin กำลังจะมาเร็ว ๆ นี้

หลังจากชำระเงินสำเร็จ เอเจนต์ของคุณจะให้ รหัสยืนยันการจอง คุณยังสามารถดึงรายละเอียดการจองและใบเสร็จผ่าน Booking Engine MCP ได้

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

อ้างอิงเครื่องมือสำหรับเอเจนต์และนักพัฒนา

หัวข้อที่มีชื่อว่า “อ้างอิงเครื่องมือสำหรับเอเจนต์และนักพัฒนา”

เครื่องมือ Wink ทั้งหมดด้านล่างนี้สามารถใช้งานผ่าน Booking Engine MCP ลูกค้า MCP จะส่งการตรวจสอบสิทธิ์โดยอัตโนมัติโดยใช้สิทธิ์ที่อนุมัติในระหว่างการลงชื่อเข้าใช้

ขั้นตอนเครื่องมือและพฤติกรรม
เลือกบริบทการจองmanaging_entity_list จากนั้น customization_get_primary หรือ customization_search สำหรับบัญชีที่เลือก ใช้การปรับแต่งที่ให้มาเมื่อรู้จักแล้ว
ค้นหาปลายทางdestination_lookup_search_suggestions และ destination_lookup_get
ค้นหาโรงแรมและห้องพักinventory_search_city หรือ inventory_search_geo จากนั้น property_inventory_get สำหรับอัตราและความพร้อม
ออกใบเสนอราคาห้องที่เลือกagentic_booking_quote ส่งรายละเอียดห้องในอาร์กิวเมนต์ request
ชำระเงินและยืนยันรับ Shared Payment Token จากกระเป๋าเงินที่เชื่อมต่อ จากนั้นเรียก agentic_booking_pay พร้อม request.quoteId และ request.spt ใช้ผู้ใช้ Wink ที่ลงชื่อเข้าใช้เดียวกันสำหรับใบเสนอราคาและการชำระเงิน
ดึงข้อมูลการจองและใบเสร็จใช้ booking_search หรือ booking_search_list เพื่อค้นหาการจองที่ยืนยันแล้ว จากนั้น booking_get และ booking_receipt_get ด้วยรหัสการจอง

คำขอใบเสนอราคาต้องการ hotelIdentifier, roomRateIdentifier, checkIn, checkOut, adults, children และ customizationIdentifier วันที่ใช้รูปแบบ YYYY-MM-DD; checkOut ต้องตามหลัง checkIn ตั้งค่า adults อย่างน้อย 1 และ children เป็น 0

ใบเสนอราคาจะส่งคืน quoteId, amountUsdCents, currency, expiresAt และ mppChallenges แสดงจำนวนเงินในหน่วยเซนต์ USD เป็นดอลลาร์: 10000 หมายถึง $100.00

ผลลัพธ์การชำระเงินขั้นตอนถัดไป
PAYMENT_SUCCEEDEDบันทึก bookingConfirmationCode และ chargeReference
IN_PROGRESSรอสักครู่แล้วลองใหม่ด้วยใบเสนอราคาและข้อมูลรับรองเดียวกัน
DECLINEDขอใบเสนอราคาใหม่และตรวจสอบก่อนชำระเงินอีกครั้ง

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

ลูกค้า MCP ที่รับรู้การชำระเงินสามารถใช้ agentic_booking_book พร้อมฟิลด์ห้องโดยตรงใน arguments การเรียกครั้งแรกจะส่งคืนข้อผิดพลาด -32042 พร้อมความท้าทายการชำระเงิน ลองเรียกเดิมอีกครั้งพร้อมข้อมูลรับรองกระเป๋าเงินใน params._meta["org.paymentauth/credential"]; ความสำเร็จจะรวม result._meta["org.paymentauth/receipt"] ข้อผิดพลาด -32043 มีความล้มเหลวและความท้าทายการชำระเงิน: การปฏิเสธที่ชัดเจนต้องใช้ใบเสนอราคาใหม่ ขณะที่ payload การชำระเงินที่ไม่สมบูรณ์สามารถลองใหม่ด้วยความท้าทายเดิม สำหรับ -32603 data.failure.reason เป็น payment-in-progress หรือ already-consumed หมายถึงลองใหม่ด้วยข้อมูลรับรองเดียวกัน; รหัสข้อผิดพลาดเพียงอย่างเดียวไม่เพียงพอ

ใช้ REST เมื่อสร้างการผสานรวมที่เรียก Wink โดยตรงผ่าน HTTP ทั้งใบเสนอราคาและการชำระเงินใช้ POST https://api.wink.travel/api/mpp/booking

แอปของคุณต้องมี โทเค็นการเข้าถึงผู้ใช้ Wink ที่มีสิทธิ์ payment.write เพื่อชำระเงิน ใช้ผู้ใช้เดียวกันสำหรับทั้งสองคำขอ ส่งโทเค็นใน Wink-Authorization โดยปล่อยให้ Authorization สำหรับข้อมูลรับรองการชำระเงินของกระเป๋าเงิน เฮดเดอร์เหล่านี้ใช้กับ REST; ลูกค้า MCP จะจัดการการตรวจสอบสิทธิ์ของตนเอง

บันทึกห้องที่เลือกเป็น booking.json โดยแทนที่รหัสตัวอย่างและวันที่ด้วยตัวเลือกของคุณ ฟิลด์ห้องใส่ใน JSON body โดยตรงโดยไม่ต้องมี wrapper request

{
"hotelIdentifier": "YOUR_HOTEL_ID",
"roomRateIdentifier": "YOUR_ROOM_RATE_ID",
"checkIn": "2027-01-15",
"checkOut": "2027-01-17",
"adults": 2,
"children": 0,
"customizationIdentifier": "YOUR_CUSTOMIZATION_ID"
}

ตั้งค่า WINK_ACCESS_TOKEN เป็นโทเค็นการเข้าถึงของผู้ใช้และส่งคำขอ:

Terminal window
curl -i https://api.wink.travel/api/mpp/booking \
-H "Wink-Authorization: Bearer $WINK_ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
--data-binary @booking.json

Wink จะส่งคืน 402 Payment Required พร้อม WWW-Authenticate: Payment ... ความท้าทายสำหรับแต่ละวิธีที่เสนอ JSON body รวม quoteId, amount, currency, expiresAt และ methods ที่นี่ amount เป็นสตริงในหน่วยเซนต์ USD: "10000" หมายถึง $100.00 ตรวจสอบใบเสนอราคาก่อนหมดอายุ; ยังไม่มีการชำระเงินเกิดขึ้น

ให้กระเป๋าเงินดำเนินการความท้าทาย Stripe ที่ส่งคืนโดยจัดหา Shared Payment Token ใน payload.spt ใช้รายละเอียดการชำระเงินจากความท้าทายนั้น

ตั้งค่า MPP_CREDENTIAL เป็นข้อมูลรับรอง MPP ที่เข้ารหัสของกระเป๋าเงิน ซึ่งมีความท้าทายและ payload การชำระเงิน ลองคำขอ body เดิม อีกครั้ง พร้อมเฮดเดอร์ระบุตัวตน:

Terminal window
curl -i https://api.wink.travel/api/mpp/booking \
-H "Wink-Authorization: Bearer $WINK_ACCESS_TOKEN" \
-H "Authorization: Payment $MPP_CREDENTIAL" \
-H 'Content-Type: application/json' \
--data-binary @booking.json

เมื่อสำเร็จ Wink จะส่งคืน 200 OK พร้อม JSON body ที่มี bookingConfirmationCode และเฮดเดอร์ Payment-Receipt บันทึกการยืนยันและใบเสร็จ การลองใหม่ที่สำเร็จจะส่งคืนการจองที่มีอยู่โดยไม่เรียกเก็บเงินซ้ำ

การตอบกลับสิ่งที่ต้องทำ
400แก้ไขรายละเอียดห้องที่ไม่ถูกต้องหรือข้อมูลรับรองที่ผิดรูปแบบ
401 / 403ตรวจสอบการตรวจสอบสิทธิ์ของผู้ใช้และสิทธิ์การชำระเงิน
402ตรวจสอบปัญหาและความท้าทายที่ส่งคืน การปฏิเสธการชำระเงินที่ชัดเจนต้องขอใบเสนอราคาใหม่ ขณะที่ payload การชำระเงินที่ไม่สมบูรณ์ใช้ความท้าทายเดิม ตรวจสอบราคาก่อนชำระเงิน
409ผลลัพธ์การชำระเงินยังไม่แน่นอน รอสักครู่แล้วลองคำขอและข้อมูลรับรองเดิมที่จุดจองอีกครั้ง
429รอจำนวนวินาทีที่ระบุใน Retry-After แล้วลองใหม่

การตอบกลับ 409 มี body application/problem+json จับคู่ type กับ URL เหล่านี้:

ประเภทปัญหาความหมาย
https://api.wink.travel/problems/payment-in-progressความพยายามชำระเงินยังดำเนินอยู่หรือยังไม่สามารถยืนยันการชำระเงินได้
https://api.wink.travel/problems/already-consumedความท้าทายหรือหลักฐานการชำระเงินถูกใช้ไปแล้วโดยความพยายามที่อาจสำเร็จ ปัญหานี้เพียงอย่างเดียวไม่ยืนยันการจอง

ทั้งสองหมายถึง ลองชำระเงินเดิมอีกครั้ง; อย่าชำระเงินใบเสนอราคาใหม่ URL เหล่านี้ระบุและอธิบายปัญหา; ไม่ใช่จุดชำระเงินหรือจุด polling ลอง POST /api/mpp/booking อีกครั้ง และใช้ type ของปัญหาแทนข้อความอธิบายฟรีเพื่อกำหนดการดำเนินการ ดู อ้างอิงประเภทปัญหา สำหรับปัญหาการชำระเงิน Wink ทั้งหมด

การหมดเวลา การสูญหายของการตอบกลับ หรือข้อผิดพลาดของเซิร์ฟเวอร์หลังส่งการชำระเงิน อาจทำให้ผลลัพธ์ไม่แน่นอน ลองคำขอชำระเงินเดิมอีกครั้ง หากผลลัพธ์ยังไม่แน่นอน ติดต่อฝ่ายสนับสนุนพร้อมรหัสใบเสนอราคาก่อนเริ่มการชำระเงินใหม่อีกครั้ง