Method: notification.partners.bookings.patch

Cập nhật Booking hiện có.

Yêu cầu HTTP

PATCH https://mapsbooking.googleapis.com/v1alpha/notification/{booking.name=partners/*/bookings/*}

URL sử dụng cú pháp Chuyển mã gRPC.

Tham số đường dẫn

Tham số
booking.name

string

Tên tài nguyên của lượt đặt phòng: partners/{partner ID}/bookings/{booking ID}

Tham số truy vấn

Tham số
updateMask

string (FieldMask format)

Mặt nạ trường của tất cả các trường đặt phòng cần cập nhật

Đây là danh sách tên đủ điều kiện của các trường được phân tách bằng dấu phẩy. Ví dụ: "user.displayName,photo"

bookingFailure

object (BookingFailure)

Nếu không xử lý được yêu cầu đặt phòng được xác nhận không đồng bộ và trạng thái của yêu cầu đặt phòng đang được cập nhật thành FAILED (KHÔNG THÀNH CÔNG), thì trường này sẽ phản ánh lỗi logic nghiệp vụ (ví dụ: người dùng có một yêu cầu đặt phòng hiện tại quá gần với thời điểm này). Bạn chỉ nên đặt trường này khi cập nhật trạng thái đặt phòng thành KHÔNG THÀNH CÔNG, nếu không trường này sẽ bị bỏ qua.

Nội dung yêu cầu

Nội dung yêu cầu chứa một bản sao của Booking.

Nội dung phản hồi

Nếu thành công, nội dung phản hồi sẽ chứa một phiên bản của Booking.

Phạm vi uỷ quyền

Yêu cầu phạm vi OAuth sau:

  • https://www.googleapis.com/auth/mapsbooking

BookingFailure

Dữ liệu trạng thái cho biết lý do xử lý yêu cầu đặt phòng không thành công một cách không đồng bộ. BookingFailure chủ yếu dùng để ghi lại các lỗi logic nghiệp vụ.

Biểu diễn dưới dạng JSON
{
  "cause": enum (Cause),
  "rejectedCardType": enum (CreditCardType),
  "description": string,
  "paymentFailure": {
    object (PaymentFailureInformation)
  }
}
Trường
cause

enum (Cause)

Lý do khiến bạn không đặt được phòng. (bắt buộc)

rejectedCardType

enum (CreditCardType)

(chỉ bắt buộc nếu nguyên nhân là PAYMENT_ERROR_CARD_TYPE_REJECTED)

description

string

Trường không bắt buộc này chỉ dùng để đối tác thêm thông tin bổ sung cho mục đích gỡ lỗi. (không bắt buộc)

paymentFailure

object (PaymentFailureInformation)

Thông tin về các giao dịch thanh toán không thành công.

Nguyên nhân

Liệt kê các nguyên nhân gây ra lỗi.

Enum
CAUSE_UNSPECIFIED Giá trị mặc định: Không sử dụng; tương đương với "lỗi không xác định"
SLOT_UNAVAILABLE Khung giờ có sẵn được tham chiếu không còn nữa.
SLOT_ALREADY_BOOKED_BY_USER Người dùng đã đặt lịch hẹn cho khung giờ trống được tham chiếu.
LEASE_EXPIRED Gói thuê (nếu có) đã hết hạn và không thể dùng để hoàn tất yêu cầu đặt phòng.
OUTSIDE_CANCELLATION_WINDOW Hiện tại, bạn không thể huỷ yêu cầu do các hạn chế về thời gian trong chính sách huỷ của người bán.
PAYMENT_ERROR_CARD_TYPE_REJECTED Đã xảy ra lỗi khi xử lý khoản thanh toán vì người bán không chấp nhận loại thẻ tín dụng mà bạn cung cấp. Bạn phải cung cấp loại thẻ tín dụng trong rejectedCardType.
PAYMENT_ERROR_CARD_DECLINED Đã xảy ra lỗi trong khi xử lý khoản thanh toán vì thẻ tín dụng bạn cung cấp đã bị từ chối.
PAYMENT_OPTION_NOT_VALID Đã xảy ra lỗi với gói/thành viên dùng để thanh toán cho lượt đặt phòng. Có thể không còn lượt sử dụng hợp lệ, mã này có thể đã hết hạn, v.v.
PAYMENT_ERROR Đã xảy ra lỗi trong khi xử lý khoản thanh toán cho lượt đặt phòng này. Chỉ sử dụng giá trị này để cho biết lỗi chung liên quan đến thanh toán nếu lỗi đó không khớp với lỗi thanh toán cụ thể ở trên.
USER_CANNOT_USE_PAYMENT_OPTION Người dùng không thể sử dụng phương thức thanh toán đã cho (ví dụ: người dùng cố gắng sử dụng giá ưu đãi cho lần thứ hai).
BOOKING_ALREADY_CANCELLED Lượt đặt phòng mà người dùng cố gắng huỷ đã bị huỷ.
BOOKING_NOT_CANCELLABLE Không thể huỷ lượt đặt phòng mà người dùng đã cố gắng huỷ.
OVERLAPPING_RESERVATION Người dùng đã có một yêu cầu đặt chỗ quá gần với thời gian này.
USER_OVER_BOOKING_LIMIT Bạn không đặt được vé do người dùng đã vượt quá giới hạn đặt phòng trên mỗi người dùng của trang web tổng hợp.
PAYMENT_REQUIRES_3DS1

Được đặt khi khoản thanh toán bị từ chối vì bạn đang yêu cầu thử lại giao dịch, nhưng lần này là sau khi trải qua thử thách/phản hồi 3DS1. Xin lưu ý rằng trạng thái không thành công của giao dịch hiện tại sẽ vẫn là không thành công. Lần thử lại sẽ hoàn toàn tách biệt.

Khi đây là lý do không thành công, bạn PHẢI đặt paymentFailure.3DS1_parameters. Nếu không, nguyên nhân hiện tại sẽ được coi là PAYMENT_ERROR.

PaymentFailureInformation

Thông tin về các khoản thanh toán không thành công.

Biểu diễn dưới dạng JSON
{
  "threeds1Parameters": {
    object (ThreeDS1Parameters)
  }
}
Trường
threeds1Parameters

object (ThreeDS1Parameters)

Các thông số mà trình tổng hợp RwG sử dụng để bắt đầu giao thức xác thực 3DS1 với người dùng. Sẽ bị bỏ qua trừ phi BookingFailure.cause được đặt thành PAYMENT_REQUIRES_3DS1.

ThreeDS1Parameters

Các tham số yêu cầu RwG thực hiện một thử thách 3DS1.

Các thông số này được đặt theo nội dung mô tả của EMVCo về giao thức 3DS1.

Biểu diễn dưới dạng JSON
{
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string
}
Trường
acsUrl

string

URL để tải một biểu mẫu hiển thị cho Người dùng nhằm xác thực.

paReq

string

Yêu cầu Xác thực thanh toán. Để đăng lên biểu mẫu ACSUrl nếu bạn cung cấp.

transactionId

string

Giá trị nhận dạng do nhà cung cấp ACS sử dụng. Để đăng lên biểu mẫu ACSUrl nếu bạn cung cấp.

mdMerchantData

string

Dữ liệu người bán. Để đăng lên biểu mẫu ACSUrl nếu bạn cung cấp.