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)

비동기식으로 확인된 예약 요청을 처리하지 못하고 예약 상태가 FAILED로 업데이트되는 경우 이 필드는 비즈니스 로직 오류를 반영해야 합니다(예: 사용자에게 현재 시점에 너무 가까운 기존 예약이 있음). 이 필드는 예약 상태를 FAILED로 업데이트할 때만 설정해야 하며 그렇지 않으면 무시됩니다.

요청 본문

요청 본문에는 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를 설정해야 합니다. 그렇지 않은 경우 현재 원인이 PAYMENT_ERROR인 것처럼 처리됩니다.

PaymentFailureInformation

결제 실패에 대한 정보입니다.

JSON 표현
{
  "threeds1Parameters": {
    object (ThreeDS1Parameters)
  }
}
필드
threeds1Parameters

object (ThreeDS1Parameters)

RwG 애그리게이터가 사용자와 함께 3DS1 인증 프로토콜을 시작하는 데 사용하는 매개변수입니다. BookingFailure.cause가 PAYMENT_REQUIRES_3DS1로 설정되지 않은 경우 무시됩니다.

ThreeDS1Parameters

RwG에 3DS1 확인을 실행하도록 요청하는 매개변수입니다.

매개변수는 EMVCo의 3DS1 프로토콜 설명에 의해 설정됩니다.

JSON 표현
{
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string
}
필드
acsUrl

string

인증을 위해 사용자에게 표시할 양식을 로드할 URL입니다.

paReq

string

PaymentAuthentication 요청입니다. ACSUrl 양식에 게시됩니다(제공되는 경우).

transactionId

string

ACS 제공업체에서 사용하는 식별자입니다. ACSUrl 양식에 게시됩니다(제공되는 경우).

mdMerchantData

string

판매자 데이터 ACSUrl 양식에 게시됩니다(제공되는 경우).