Phần tổng quan này tóm tắt luồng Đơn đặt hàng bằng Google và cách nó tương tác với dịch vụ web thực hiện đơn hàng của bạn.
Thứ tự sắp xếp
Giao diện người dùng của tính năng Đặt món bằng Google sẽ xử lý tất cả các hoạt động tương tác với người dùng khi họ thêm các món ăn vào đơn đặt hàng của mình và quyết định có thể đến lấy hàng hoặc giao hàng hay không, tuỳ thuộc vào dịch vụ mà nhà hàng cung cấp. Trải nghiệm này sử dụng các thực thể Restaurant
, Service
và Menu
có trong nguồn cấp dữ liệu của bạn.
Bước tiếp theo là giai đoạn xác thực giỏ hàng, trong đó Cart
do người dùng tạo
được dịch vụ web của bạn xử lý.
Hành động thanh toán
Hành động thanh toán là cuộc gọi đầu tiên do Google thực hiện đến điểm cuối dịch vụ web của bạn.
Dịch vụ web của bạn chịu trách nhiệm xác thực Cart
. Bạn phải xác nhận tình trạng còn hàng và giá của mặt hàng, tính toán và trả thuế, chiết khấu và phí, cũng như xác thực địa chỉ giao hàng.
Quy trình thanh toán tuân theo trình tự sau:
- Dịch vụ Order with Google sẽ gửi
CheckoutRequestMessage
chứaCart
đến điểm cuối của dịch vụ web thực hiện đơn hàng. - Dịch vụ web của bạn cần xác thực các mục trong
Cart
dựa trên giá, tình trạng còn hàng và nhà cung cấp dịch vụ hiện tại. Sau đó, bạn tính tổng giá, bao gồm cả các khoản chiết khấu, thuế và phí giao hàng. - Điểm cuối của bạn phản hồi bằng một
CheckoutResponseMessage
chứaCart
chưa sửa đổi cho các yêu cầu thành công. Bạn có thể đưaFoodErrorExtension
vàoCheckoutResponseMessage
để phát sinh lỗi xử lý hoặc đề xuất thay đổi nhỏ nếu cần.
Sau khi Cart
được xác thực, người dùng có thể chọn tiếp tục giai đoạn gửi đơn đặt hàng của quy trình.
Gửi hành động
Hành động gửi đơn đặt hàng được kích hoạt khi người dùng đặt hàng. Dịch vụ web của bạn phải xác thực lại giỏ hàng, xử lý mã thông báo thẻ nếu tính năng thanh toán trực tuyến được bật và cuối cùng cập nhật trạng thái của đơn đặt hàng.
Quy trình gửi đơn đặt hàng tuân theo trình tự sau:
- Dịch vụ Order with Google sẽ gửi
SubmitOrderRequestMessage
chứaOrder
đến điểm cuối của dịch vụ web thực hiện đơn hàng. Hệ thống phụ trợ của bạn cần thực hiện một quy trình xác thựcCart
khác trước khi tiếp tục. Dịch vụ web của bạn xử lý thông tin thanh toán có trong
Order
, thường thực hiện những việc sau:- Thực hiện quy trình xác minh mã thông báo, lừa đảo và các hoạt động kiểm tra điều kiện khác.
- Ủy quyền và tùy ý tính phí thẻ.
Điểm cuối của bạn phản hồi bằng một
SubmitOrderResponseMessage
chứaOrderUpdate
có trạng tháiCREATED
("ordered" trạng thái mua hàng),CONFIRMED
("accepted" trạng thái mua hàng) hoặcREJECTED
("Rejectedd" trạng thái mua hàng).
Sau khi đặt hàng, người dùng muốn nhận được thông tin cập nhật về trạng thái đơn đặt hàng từ cả bạn và giao diện người dùng của tính năng Đặt món bằng Google. Bạn phải gửi email xác nhận đơn đặt hàng cho người dùng. Ngoài ra, bạn sẽ sử dụng API Cập nhật đơn đặt hàng không đồng bộ để gửi thông tin cập nhật về đơn đặt hàng phù hợp cho Google.
Hành động cập nhật đơn đặt hàng không đồng bộ
Bạn sẽ không phải gửi thông tin cập nhật về trạng thái đơn đặt hàng cho Google trong các trường hợp sau:
- Các thay đổi đối với
OrderState
chẳng hạn như chuyển đổi từCREATED
sangCONFIRMED
vàCONFIRMED
thànhIN_TRANSIT
. - Các thay đổi đối với mục đặt hàng, chẳng hạn như giá hoặc tình trạng còn hàng.
- Bất cứ khi nào người dùng kích hoạt yêu cầu hỗ trợ từ một trong các kênh hỗ trợ khách hàng của bạn.
Bản cập nhật sẽ được gửi từ điểm cuối của dịch vụ web dưới dạng AsyncOrderUpdateRequestMessage
chứa OrderUpdate
. Google phản hồi bằng một AsyncOrderUpdateResponseMessage
.
Sơ đồ trình tự
Hình minh hoạ sau đây minh hoạ cách các thao tác thực hiện tương tác với dịch vụ web. Nhấp để phóng to.
Thiết lập điểm cuối thực hiện đơn hàng
Các thao tác Đặt món bằng Google sử dụng thông báo JSON để giao tiếp với dịch vụ web của bạn và xử lý quá trình xử lý, xác nhận và cập nhật đơn đặt hàng thực phẩm. Khi thiết kế dịch vụ web Đặt món bằng Google, bạn phải xác định một điểm cuối URL nhận thông báo yêu cầu từ dịch vụ Order with Google và có thể trả lại thông báo về dịch vụ của Google. Quá trình triển khai của bạn phải đáp ứng các yêu cầu sau:
- Dịch vụ web của bạn phải có khả năng nhận thông báo JSON dưới dạng yêu cầu
POST
từ dịch vụ Order with Google. - Dịch vụ web của bạn phải cung cấp một điểm cuối URL có thể truy cập công khai, được gọi là URL thực hiện, mà bạn chỉ định trong Cổng đối tác. URL thực hiện đơn hàng được dùng để thanh toán và gửi đơn đặt hàng. Phương thức triển khai của bạn phải xử lý cả hai loại yêu cầu.
- Dịch vụ web của bạn phải có thể xác minh thông báo từ Google bằng cách sử dụng phương thức Xác minh thông báo.
- Khi triển khai điểm cuối URL, bạn phải có khả năng xử lý cả quá trình thanh toán và thực hiện đơn đặt hàng bằng một điểm cuối duy nhất. Bạn không thể có một điểm cuối URL để thanh toán và một điểm cuối riêng để đặt hàng.
Thư viện ứng dụng
Trình tạo mã ứng dụng trong phần Công cụ có sẵn để xác thực dịch vụ web của bạn theo thông số kỹ thuật của API thực hiện.