Method: notification.partners.bookings.patch

Aktualizuje istniejącą rezerwację Booking.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
booking.name

string

Nazwa zasobu rezerwacji: partners/{partner ID}/bookings/{booking ID}

Parametry zapytania

Parametry
updateMask

string (FieldMask format)

Maska pól wszystkich pól rezerwacji, które mają zostać zaktualizowane

Jest to lista pełnych i jednoznacznych nazw pól rozdzielona przecinkami. Przykład: "user.displayName,photo".

bookingFailure

object (BookingFailure)

Jeśli przetwarzanie asynchronicznie potwierdzonej prośby o rezerwację nie powiedzie się, a stan rezerwacji zostanie zaktualizowany do stanu FAILED, to pole powinno odzwierciedlać błąd logiki biznesowej (np. użytkownik ma już rezerwację w zbyt bliskim terminie). To pole należy ustawić tylko wtedy, gdy stan rezerwacji jest aktualizowany do stanu FAILED. W przeciwnym razie zostanie zignorowane.

Treść żądania

Treść żądania zawiera wystąpienie elementu Booking.

Treść odpowiedzi

W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Booking.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

BookingFailure

Dane o stanie, które informują, dlaczego przetwarzanie rezerwacji nie powiodło się asynchronicznie. BookingFailure ma na celu przede wszystkim rejestrowanie błędów logiki biznesowej.

Zapis JSON
{
  "cause": enum (Cause),
  "rejectedCardType": enum (CreditCardType),
  "description": string,
  "paymentFailure": {
    object (PaymentFailureInformation)
  }
}
Pola
cause

enum (Cause)

Przyczyna niepowodzenia rezerwacji. (wymagane)

rejectedCardType

enum (CreditCardType)

(wymagane tylko wtedy, gdy przyczyną jest PAYMENT_ERROR_CARD_TYPE_REJECTED)

description

string

To opcjonalne pole służy partnerowi do dodawania dodatkowych informacji tylko na potrzeby debugowania. (opcjonalnie)

paymentFailure

object (PaymentFailureInformation)

Informacje o nieudanych płatnościach.

Przyczyna

Wyliczenie przyczyn niepowodzenia.

Wartości w polu enum
CAUSE_UNSPECIFIED Wartość domyślna: nie używaj; oznacza „nieznany błąd”
SLOT_UNAVAILABLE Wskazywany przedział czasu nie jest już dostępny.
SLOT_ALREADY_BOOKED_BY_USER Użytkownik zarezerwował już spotkanie w wskazywanym przedziale czasu.
LEASE_EXPIRED Okres ważności (jeśli został podany) wygasł i nie można go już użyć do sfinalizowania żądanej rezerwacji.
OUTSIDE_CANCELLATION_WINDOW Żądane anulowanie nie może zostać wykonane w tej chwili ze względu na ograniczenia czasowe w zasadach anulowania sprzedawcy.
PAYMENT_ERROR_CARD_TYPE_REJECTED Podczas przetwarzania płatności wystąpił błąd, ponieważ sprzedawca nie akceptuje podanego typu karty kredytowej. Typ karty kredytowej musi być podany w polu rejectedCardType.
PAYMENT_ERROR_CARD_DECLINED Podczas przetwarzania płatności wystąpił błąd, ponieważ podana karta kredytowa została odrzucona.
PAYMENT_OPTION_NOT_VALID Podczas przetwarzania płatności za rezerwację wystąpił błąd związany z pakietem lub subskrypcją. Może to być spowodowane brakiem ważnych zastosowań, wygaśnięciem itp.
PAYMENT_ERROR Podczas przetwarzania płatności za tę rezerwację wystąpił błąd. Użyj tej wartości, aby wskazać ogólny błąd związany z płatnością, tylko wtedy, gdy błąd nie pasuje do żadnego z powyższych błędów płatności.
USER_CANNOT_USE_PAYMENT_OPTION Użytkownik nie może użyć podanej opcji płatności (np. użytkownik próbuje użyć ceny dla nowych klientów po raz drugi).
BOOKING_ALREADY_CANCELLED Rezerwacja, którą użytkownik próbował anulować, została już anulowana.
BOOKING_NOT_CANCELLABLE Rezerwacja, którą użytkownik próbował anulować, nie może zostać anulowana.
OVERLAPPING_RESERVATION Użytkownik ma już rezerwację w zbyt bliskim terminie.
USER_OVER_BOOKING_LIMIT Rezerwacja nie powiodła się, ponieważ użytkownik przekroczył limit rezerwacji na użytkownika ustalony przez agregatora.
PAYMENT_REQUIRES_3DS1

Ustawiane, gdy płatność zostanie odrzucona, ponieważ prosisz o ponowienie transakcji, ale tym razem po przejściu przez wyzwanie/odpowiedź 3DS1. Pamiętaj, że stan niepowodzenia bieżącej transakcji pozostanie niezmieniony. Ponowienie będzie całkowicie oddzielne.

Gdy przyczyną niepowodzenia jest ta wartość, należy ustawić pole paymentFailure.3DS1_parameters. Jeśli tak nie jest, bieżąca przyczyna będzie traktowana tak, jakby była to PAYMENT_ERROR.

PaymentFailureInformation

Informacje o nieudanych płatnościach.

Zapis JSON
{
  "threeds1Parameters": {
    object (ThreeDS1Parameters)
  }
}
Pola
threeds1Parameters

object (ThreeDS1Parameters)

Parametry używane przez agregatora RwG do zainicjowania protokołu uwierzytelniania 3DS1 z użytkownikiem. Zostaną zignorowane, chyba że pole BookingFailure.cause będzie ustawione na PAYMENT_REQUIRES_3DS1.

ThreeDS1Parameters

Parametry żądające, aby RwG przeprowadził wyzwanie 3DS1.

Parametry są ustawiane zgodnie z opisem protokołu 3DS1 opracowanym przez EMVCo.

Zapis JSON
{
  "acsUrl": string,
  "paReq": string,
  "transactionId": string,
  "mdMerchantData": string
}
Pola
acsUrl

string

Adres URL, z którego należy wczytać formularz do wyświetlenia użytkownikowi w celu uwierzytelnienia.

paReq

string

Żądanie uwierzytelnienia płatności. Jeśli zostanie podane, zostanie opublikowane w formularzu ACSUrl.

transactionId

string

Identyfikator używany przez dostawcę ACS. Jeśli zostanie podane, zostanie opublikowane w formularzu ACSUrl.

mdMerchantData

string

Dane sprzedawcy. Jeśli zostanie podane, zostanie opublikowane w formularzu ACSUrl.