ภาพรวมนี้จะสรุปขั้นตอนตั้งแต่ต้นจนจบของคำสั่งซื้อและวิธีที่ระบบโต้ตอบกับเว็บเซอร์วิสการดำเนินการตามคำสั่งซื้อ
การเรียงลำดับ
อินเทอร์เฟซผู้ใช้แบบครบวงจรสำหรับการสั่งซื้อจะจัดการการโต้ตอบทั้งหมดกับผู้ใช้ขณะที่เพิ่มรายการเมนูลงในคำสั่งซื้อและตัดสินใจว่าจะรับสินค้าที่ร้านหรือจัดส่งถึงบ้าน ทั้งนี้ขึ้นอยู่กับบริการที่ร้านอาหารนำเสนอ ประสบการณ์การใช้งานนี้ขับเคลื่อนโดยเอนทิตี Restaurant
, Service
และ Menu
ที่พบในฟีดข้อมูล
ขั้นตอนถัดไปคือระยะการตรวจสอบรถเข็น ซึ่งบริการเว็บจะประมวลผล Cart
ที่ผู้ใช้สร้างขึ้น
การดำเนินการชำระเงิน
การดำเนินการชำระเงินคือการเรียกครั้งแรกที่ Google ดำเนินการกับปลายทางของบริการเว็บ
บริการบนเว็บของคุณมีหน้าที่รับผิดชอบในการตรวจสอบ Cart
คุณต้องยืนยันความพร้อมจำหน่ายและราคาของสินค้า คำนวณและแสดงภาษี ส่วนลด และค่าธรรมเนียม และตรวจสอบที่อยู่สำหรับจัดส่งคำสั่งซื้อ
ขั้นตอนการชำระเงินจะเป็นไปตามลำดับต่อไปนี้
- บริการการสั่งซื้อแบบครบวงจรจะส่ง
CheckoutRequestMessage
ที่มีCart
ไปยังปลายทางของบริการเว็บสำหรับการนำส่ง - เว็บเซอร์วิสของคุณต้องตรวจสอบรายการใน
Cart
โดยอิงตามราคา ความพร้อมให้บริการ และผู้ให้บริการปัจจุบัน จากนั้นคำนวณราคารวม ซึ่งรวมส่วนลด ภาษี และค่าธรรมเนียมการนำส่ง - ปลายทางจะตอบกลับด้วย
CheckoutResponseMessage
ที่มีCart
ที่ไม่มีการเปลี่ยนแปลงสําหรับคําขอที่ประสบความสําเร็จ คุณสามารถใส่FoodErrorExtension
ไว้ในCheckoutResponseMessage
เพื่อแจ้งข้อผิดพลาดในการประมวลผลหรือเสนอการเปลี่ยนแปลงเล็กน้อยได้ หากจำเป็น
หลังจากตรวจสอบ Cart
แล้ว ผู้ใช้อาจเลือกที่จะไปยังขั้นตอนการส่งคำสั่งซื้อของขั้นตอน
ส่งการดําเนินการตามคําสั่งซื้อ
ระบบจะเรียกใช้การดำเนินการ "ส่งคำสั่งซื้อ" เมื่อผู้ใช้สั่งซื้อ เว็บเซอร์วิสของคุณต้องตรวจสอบรถเข็นอีกครั้ง ประมวลผลโทเค็นบัตรหากเปิดใช้การชำระเงินออนไลน์ และอัปเดตสถานะคำสั่งซื้อในขั้นตอนสุดท้าย
ขั้นตอนการส่งคำสั่งซื้อจะเป็นไปตามลำดับต่อไปนี้
- บริการการสั่งซื้อแบบครบวงจรจะส่ง
SubmitOrderRequestMessage
ที่มีOrder
ไปยังปลายทางของบริการเว็บสำหรับการจำหน่าย แบ็กเอนด์ของคุณต้องดำเนินการตรวจสอบCart
อีกครั้งก่อนดำเนินการต่อ เว็บเซอร์วิสจะประมวลผลรายละเอียดการชำระเงินที่พบใน
Order
โดยปกติจะดำเนินการต่อไปนี้- ดำเนินการยืนยันโทเค็น การประพฤติมิชอบ และการตรวจสอบการมีสิทธิ์อื่นๆ
- อนุมัติและเรียกเก็บเงินจากบัตร (ไม่บังคับ)
อุปกรณ์ปลายทางจะตอบกลับด้วย
SubmitOrderResponseMessage
ที่มีOrderUpdate
ที่มีสถานะเป็นCREATED
("สั่งซื้อแล้ว")CONFIRMED
("ยอมรับแล้ว") หรือREJECTED
("ปฏิเสธแล้ว")
เมื่อสั่งซื้อแล้ว ผู้ใช้จะคาดหวังว่าจะได้รับข้อมูลอัปเดตสถานะคำสั่งซื้อจากทั้งคุณและอินเทอร์เฟซผู้ใช้การสั่งซื้อแบบครบวงจร คุณต้องส่งอีเมลยืนยันคำสั่งซื้อไปยังผู้ใช้ นอกจากนี้ คุณยังใช้ Asynchronous Order Update API เพื่อส่งการอัปเดตคำสั่งซื้อที่เกี่ยวข้องไปยัง Google ได้อีกด้วย
การดำเนินการอัปเดตคำสั่งซื้อแบบอะซิงโครนัส
คุณต้องส่งการอัปเดตสถานะคำสั่งซื้อไปยัง Google สำหรับเหตุการณ์ต่อไปนี้ด้วย โดยไม่คำนึงถึงการแจ้งเตือนผู้ใช้จากฝั่งคุณ
- การเปลี่ยนแปลง
OrderState
เช่น การเปลี่ยนจากCREATED
เป็นCONFIRMED
และจากCONFIRMED
เป็นIN_TRANSIT
- การเปลี่ยนแปลงสินค้าในคำสั่งซื้อ เช่น ราคาหรือความพร้อมจำหน่ายสินค้า
- เมื่อใดก็ตามที่ผู้ใช้ส่งคำขอการสนับสนุนจากช่องทางการสนับสนุนลูกค้า
ระบบจะส่งการอัปเดตจากปลายทางของเว็บเซอร์วิสเป็น AsyncOrderUpdateRequestMessage
ที่มี OrderUpdate
Google จะตอบกลับด้วย AsyncOrderUpdateResponseMessage
แผนภาพลำดับ
ภาพประกอบต่อไปนี้แสดงวิธีที่การดำเนินการตามคำสั่งซื้อโต้ตอบกับบริการเว็บของคุณ คลิกเพื่อขยาย
ตั้งค่าปลายทางการดำเนินการตามคำสั่งซื้อ
การดำเนินการแบบครบวงจรของคำสั่งซื้อใช้ข้อความ JSON เพื่อสื่อสารกับบริการเว็บและจัดการการประมวลผล การยืนยัน และการอัปเดตคำสั่งซื้ออาหาร เมื่อออกแบบเว็บเซอร์วิสการสั่งซื้อจากต้นทางถึงปลายทาง คุณต้องกำหนด URL ปลายทางที่รับข้อความคำขอจากบริการการสั่งซื้อจากต้นทางถึงปลายทาง และสามารถส่งข้อความกลับไปยังบริการของ Google ได้ การติดตั้งใช้งานต้องเป็นไปตามข้อกำหนดต่อไปนี้
- บริการเว็บของคุณต้องสามารถรับข้อความ JSON เป็นคำขอ
POST
จากบริการการสั่งซื้อแบบครบวงจร - เว็บเซอร์วิสของคุณต้องมีปลายทาง URL ที่เข้าถึงได้แบบสาธารณะ ซึ่งเรียกว่า URL การดำเนินการตามคำสั่งซื้อ ซึ่งคุณระบุไว้ในศูนย์การดำเนินการ ระบบจะใช้ URL การดำเนินการตามคำสั่งซื้อเพื่อชำระเงินและส่งคำสั่งซื้อ การติดตั้งใช้งานของคุณต้องจัดการคําขอทั้ง 2 ประเภท
- เว็บเซอร์วิสของคุณต้องยืนยันข้อความจาก Google ได้โดยใช้วิธีการยืนยันข้อความ
- การติดตั้งใช้งานปลายทาง URL ของคุณต้องจัดการทั้งการชำระเงินและการดำเนินการตามคำสั่งซื้อได้ด้วยปลายทางเดียว คุณไม่สามารถมี URL ปลายทาง 1 รายการสำหรับการชําระเงินและปลายทางแยกต่างหากสําหรับการส่งคําสั่งซื้อ
ไลบรารีไคลเอ็นต์
เครื่องมือสร้างโค้ดไคลเอ็นต์ในส่วนเครื่องมือมีไว้เพื่อตรวจสอบเว็บเซอร์วิสของคุณเทียบกับข้อกำหนดของ Fulfillment API