Method: notification.partners.bookings.patch

更新現有的 Booking

HTTP 要求

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

這個網址使用 gRPC 轉碼語法。

路徑參數

參數
booking.name

string

預訂的資源名稱:partners/{partner ID}/bookings/{booking ID}

查詢參數

參數
updateMask

string (FieldMask format)

所有要更新的預訂欄位的欄位遮罩

此為以半形逗號分隔的完整欄位名稱清單。範例:"user.displayName,photo"

bookingFailure

object (BookingFailure)

如果非同步確認的預訂要求處理失敗,且預訂狀態已更新為「失敗」,這個欄位應反映出商業邏輯錯誤 (例如使用者目前已有的預訂項目時間太接近這個時間)。只有在將預訂狀態更新為「失敗」時,才需要設定這個欄位,其他情況系統會予以忽略。

要求主體

要求主體包含 Booking 的例項。

回應主體

如果成功,回應主體會包含 Booking 的執行例項。

授權範圍

需要下列 OAuth 範圍:

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

BookingFailure

以非同步方式指出預訂處理失敗原因的狀態資料。BookingFailure 主要是用來擷取商業邏輯錯誤。

JSON 表示法
{
  "cause": enum (Cause),
  "rejectedCardType": enum (CreditCardType),
  "description": string,
  "paymentFailure": {
    object (PaymentFailureInformation)
  }
}
欄位
cause

enum (Cause)

預訂失敗的原因。(必填)

rejectedCardType

enum (CreditCardType)

(只有在原因為 PAYMENT_ERROR_CARD_TYPE_REJECTED 時才需要提供)

description

string

(選用欄位) 可供合作夥伴納入其他資訊,但僅限偵錯用途。(選用)

paymentFailure

object (PaymentFailureInformation)

付款失敗相關資訊。

原因

列舉失敗原因。

列舉
CAUSE_UNSPECIFIED 預設值:不使用;表示「不明錯誤」
SLOT_UNAVAILABLE 參照的供應時段已不提供預訂。
SLOT_ALREADY_BOOKED_BY_USER 使用者已經預訂參照的供應時段。
LEASE_EXPIRED 保留項目 (如適用) 已過期,無法再用於完成要求的預訂。
OUTSIDE_CANCELLATION_WINDOW 基於商家取消政策中設定的時間限制,目前無法執行要求的取消作業。
PAYMENT_ERROR_CARD_TYPE_REJECTED 處理付款時發生錯誤,因為商家不接受使用者提供的信用卡類型。信用卡類型必須以 rejectedCardType 提供。
PAYMENT_ERROR_CARD_DECLINED 處理付款時發生錯誤,因為使用者提供的信用卡遭拒。
PAYMENT_OPTION_NOT_VALID 用來支付預訂費用的套裝/會員方案發生錯誤。可能的情況包括已無有效的剩餘可用額度或已經過期等等。
PAYMENT_ERROR 處理這筆預訂的付款時發生錯誤。此值代表一般付款相關錯誤;只有在錯誤與上述具體錯誤皆不相符的情況下,才可使用。
USER_CANNOT_USE_PAYMENT_OPTION 使用者無法使用指定的付款方式 (例如使用者試圖二度使用首次預訂價格)。
BOOKING_ALREADY_CANCELLED 使用者嘗試取消的預訂已取消。
BOOKING_NOT_CANCELLABLE 使用者嘗試取消的預訂無法取消。
OVERLAPPING_RESERVATION 使用者目前已有的預訂項目時間太接近這個時間。
USER_OVER_BOOKING_LIMIT 由於超過集結網站的單一使用者預訂限制,因此預訂失敗。
PAYMENT_REQUIRES_3DS1

在以下情況時設定此項目:您要求再次嘗試交易,但由於這次是在經過 3DS1 驗證/回應之後,因此付款遭拒。請注意,目前交易的失敗狀態會維持失敗。重試是完全獨立的作業。

如果這是失敗原因,「必須」設定 paymentFailure.3DS1_parameters MUST。如未設定,則目前的原因就會視為 PAYMENT_ERROR。

PaymentFailureInformation

付款失敗相關資訊。

JSON 表示法
{
  "threeds1Parameters": {
    object (ThreeDS1Parameters)
  }
}
欄位
threeds1Parameters

object (ThreeDS1Parameters)

「透過 Google 預訂」集結網站使用的參數,用來為使用者初始化 3DS1 驗證通訊協定。BookingFailure.cause 必須設為 PAYMENT_REQUIRES_3DS1,否則系統會忽略此設定。

ThreeDS1Parameters

要求「透過 Google 預訂」執行 3DS1 驗證的參數。

這些參數是由 EMVCo 的 3DS1 通訊協定說明設定。

JSON 表示法
{
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string
}
欄位
acsUrl

string

用於載入表單供使用者進行驗證的網址。

paReq

string

PaymentAuthentication 要求。請發布到 ACSUrl 表單 (如有提供)。

transactionId

string

ACS 供應商使用的 ID。請發布到 ACSUrl 表單 (如有提供)。

mdMerchantData

string

業務資料。請發布到 ACSUrl 表單 (如有提供)。