Method: notification.partners.bookings.patch

อัปเดต Booking ที่มีอยู่

คำขอ HTTP

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

URL ใช้ไวยากรณ์การแปลง 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)

ข้อมูลเกี่ยวกับการชำระเงินที่ไม่สำเร็จ

สาเหตุ

การแจกแจงสาเหตุที่ดำเนินการไม่สำเร็จ

Enum
CAUSE_UNSPECIFIED ค่าเริ่มต้น: อย่าใช้ จำนวนจะเป็น "ข้อผิดพลาดที่ไม่รู้จัก"
SLOT_UNAVAILABLE ช่วงเวลาว่างที่อ้างอิงไม่สามารถใช้ได้อีกต่อไป
SLOT_ALREADY_BOOKED_BY_USER ผู้ใช้ได้จองการนัดหมายสำหรับช่วงเวลาว่างที่อ้างอิงแล้ว
LEASE_EXPIRED เวลาเช่า (หากระบุ) หมดอายุแล้วและไม่สามารถใช้เพื่อจองให้เสร็จสมบูรณ์ได้อีกต่อไป
OUTSIDE_CANCELLATION_WINDOW ดำเนินการยกเลิกตามที่ขอไม่ได้ในขณะนี้เนื่องจากนโยบายการยกเลิกของผู้ขายมีข้อจำกัดด้านเวลา
PAYMENT_ERROR_CARD_TYPE_REJECTED เกิดข้อผิดพลาดขณะประมวลผลการชำระเงิน เนื่องจากผู้ขายไม่ยอมรับประเภทบัตรเครดิตที่ระบุ ต้องระบุประเภทบัตรเครดิตใน declinedCardType
PAYMENT_ERROR_CARD_DECLINED เกิดข้อผิดพลาดขณะประมวลผลการชำระเงินเนื่องจากบัตรเครดิตที่ระบุถูกปฏิเสธ
PAYMENT_OPTION_NOT_VALID พบข้อผิดพลาดเกี่ยวกับแพ็กเกจ/การเป็นสมาชิกที่ใช้ชำระเงินสำหรับการจอง ไม่เหลือการใช้งานที่ถูกต้องแล้ว บัญชีอาจหมดอายุไปแล้ว เป็นต้น
PAYMENT_ERROR เกิดข้อผิดพลาดขณะประมวลผลการชำระเงินสำหรับการจองนี้ ใช้ค่านี้เพื่อระบุข้อผิดพลาดทั่วไปเกี่ยวกับการชำระเงินในกรณีที่ข้อผิดพลาดดังกล่าวไม่ตรงกับข้อผิดพลาดการชำระเงินที่ระบุไว้ด้านบนเท่านั้น
USER_CANNOT_USE_PAYMENT_OPTION ผู้ใช้ไม่สามารถใช้ตัวเลือกการชำระเงินที่ระบุ (เช่น ผู้ใช้ที่พยายามใช้ราคาครั้งแรกเป็นครั้งที่ 2)
BOOKING_ALREADY_CANCELLED การจองที่ผู้ใช้พยายามยกเลิกถูกยกเลิกแล้ว
BOOKING_NOT_CANCELLABLE การจองที่ผู้ใช้พยายามยกเลิกจะไม่สามารถยกเลิกได้
OVERLAPPING_RESERVATION ผู้ใช้มีการจองเดิมที่ใกล้กับเวลานี้มากเกินไป
USER_OVER_BOOKING_LIMIT การจองล้มเหลวเนื่องจากผู้ใช้มีจำนวนการจองเกินขีดจำกัดการจองต่อผู้ใช้ของผู้รวบรวมข้อมูล
PAYMENT_REQUIRES_3DS1

ตั้งค่าว่าการชำระเงินถูกปฏิเสธเมื่อใดเนื่องจากคุณขอให้มีการลองทำธุรกรรมอีกครั้ง แต่ครั้งนี้หลังจากมีการทดสอบ/ตอบกลับด้วย 3DS1 โปรดทราบว่าสถานะความล้มเหลวของธุรกรรมปัจจุบันจะยังคงล้มเหลวต่อไป การดำเนินการอีกครั้งจะแยกกันอย่างสิ้นเชิง

หากเป็นสาเหตุที่ดำเนินการไม่สำเร็จ คุณต้องตั้งค่า paymentFailure.3DS1_parameters หากไม่ใช่ สาเหตุปัจจุบันจะได้รับการปฏิบัติเสมือนว่าเป็น PAYMENT_ERROR

PaymentFailureInformation

ข้อมูลเกี่ยวกับการชำระเงินที่ไม่สำเร็จ

การแสดง JSON
{
  "threeds1Parameters": {
    object (ThreeDS1Parameters)
  }
}
ช่อง
threeds1Parameters

object (ThreeDS1Parameters)

พารามิเตอร์ที่ใช้โดยผู้รวบรวมข้อมูล RwG เพื่อเริ่มโปรโตคอลการตรวจสอบสิทธิ์ 3DS1 กับผู้ใช้ ระบบจะไม่สนใจ เว้นแต่จะตั้งค่า BookingFailure.cause เป็น PAYMENT_REQUIRES_3DS1

ThreeDS1Parameters

พารามิเตอร์ที่ขอให้ RwG ทำชาเลนจ์ 3DS1

โดยกำหนดพารามิเตอร์ตามคำอธิบายของโปรโตคอล 3DS1 ของ EMVCo

การแสดง JSON
{
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string
}
ช่อง
acsUrl

string

URL ที่จะโหลดแบบฟอร์มเพื่อแสดงให้กับผู้ใช้เพื่อการตรวจสอบสิทธิ์

paReq

string

คำขอ Payment Authentication เพื่อโพสต์ไปยังแบบฟอร์ม ACSUrl หากมี

transactionId

string

ตัวระบุที่ผู้ให้บริการ ACS ใช้ เพื่อโพสต์ไปยังแบบฟอร์ม ACSUrl หากมี

mdMerchantData

string

ข้อมูลผู้ขาย เพื่อโพสต์ไปยังแบบฟอร์ม ACSUrl หากมี