ภาพรวมนี้จะสรุปขั้นตอนการสั่งซื้อจากต้นทางถึงปลายทางและวิธีที่ระบบโต้ตอบกับบริการบนเว็บตาม Fulfillment
การเรียงลำดับ
อินเทอร์เฟซผู้ใช้แบบเอนด์ทูเอนด์ของการสั่งซื้อจะจัดการการโต้ตอบทั้งหมดกับผู้ใช้ ในขณะที่ผู้ใช้เพิ่มรายการในเมนูลงในคำสั่งซื้อและตัดสินใจเลือกบริการรับที่ร้านหรือจัดส่ง โดยขึ้นอยู่กับบริการที่ร้านอาหารเสนอ ประสบการณ์นี้ขับเคลื่อนโดยเอนทิตี Restaurant
, Service
และ Menu
ที่พบในฟีดข้อมูล
ขั้นตอนถัดไปคือขั้นตอนการตรวจสอบความถูกต้องของรถเข็นซึ่งบริการบนเว็บของคุณสร้าง Cart
ที่เป็นผลลัพธ์
การดำเนินการชำระเงิน
การดำเนินการชำระเงินคือสายแรกที่ Google โทรไปยังปลายทางบริการบนเว็บของคุณ
บริการบนเว็บของคุณมีหน้าที่ตรวจสอบ Cart
คุณต้องยืนยันความพร้อมจำหน่ายสินค้าและการกำหนดราคาของสินค้า คำนวณและเรียกเก็บภาษีการคืนสินค้า ส่วนลด และค่าธรรมเนียม รวมถึงตรวจสอบที่อยู่สำหรับจัดส่งคำสั่งซื้อ
กระบวนการชำระเงินจะเป็นไปตามลำดับนี้
- บริการสั่งซื้อจากต้นทางถึงปลายทางจะส่ง
CheckoutRequestMessage
ที่มีCart
ไปยังปลายทางบริการบนเว็บตาม Fulfillment - บริการบนเว็บของคุณต้องตรวจสอบรายการใน
Cart
ตามราคาปัจจุบัน ความพร้อมจำหน่ายสินค้า และผู้ให้บริการ จากนั้นคุณจะคำนวณราคารวมซึ่งรวมถึงส่วนลด ภาษี และค่าจัดส่ง - ปลายทางจะตอบกลับด้วย
CheckoutResponseMessage
ที่มีCart
ที่ไม่ได้แก้ไขสำหรับคำขอที่สำเร็จ คุณรวมFoodErrorExtension
ไว้ในCheckoutResponseMessage
เพื่อทำให้เกิดข้อผิดพลาดในการประมวลผล หรือเสนอการเปลี่ยนแปลงเล็กน้อยได้ หากจำเป็น
หลังจากตรวจสอบ Cart
แล้ว ผู้ใช้อาจเลือกไปยังขั้นตอนการส่งคำสั่งซื้อของโฟลว์ได้
ส่งการดำเนินการคำสั่งซื้อ
ระบบจะทริกเกอร์การส่งคำสั่งซื้อเมื่อผู้ใช้สั่งซื้อ บริการบนเว็บของคุณจะต้องตรวจสอบความถูกต้องของรถเข็นอีกครั้ง ประมวลผลโทเค็นของบัตรหากเปิดใช้การชำระเงินออนไลน์ และอัปเดตสถานะของคำสั่งซื้อในท้ายที่สุด
ขั้นตอนการส่งคำสั่งซื้อจะเป็นไปตามลำดับนี้
- บริการสั่งซื้อจากต้นทางถึงปลายทางจะส่ง
SubmitOrderRequestMessage
ที่มีOrder
ไปยังปลายทางบริการเว็บ Fulfillment ของคุณ แบ็กเอนด์ต้องทําการตรวจสอบ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 การดำเนินการตามคำสั่งซื้อ ซึ่งคุณระบุใน Actions Center ใช้ URL การดำเนินการตามคำสั่งซื้อเพื่อชำระเงินและส่งคำสั่งซื้อ การใช้งานของคุณต้องจัดการกับคำขอทั้ง 2 ประเภท
- บริการบนเว็บของคุณต้องยืนยันข้อความจาก Google ได้โดยใช้วิธีการยืนยันข้อความ
- การใช้งานปลายทางของ URL ต้องจัดการได้ทั้งการดำเนินการชำระเงินและดำเนินการตามคำสั่งซื้อด้วยปลายทางเดียว โดยต้องไม่มีปลายทาง URL เดียวสำหรับการชำระเงินและปลายทางแยกต่างหากสำหรับการส่งคำสั่งซื้อ
ไลบรารีไคลเอ็นต์
เครื่องมือสร้างรหัสไคลเอ็นต์ในส่วนเครื่องมือมีไว้เพื่อตรวจสอบบริการบนเว็บตามข้อกำหนดของ Fulfillment API