W ramach kompleksowej integracji rezerwacji w Centrum działań możesz umożliwić swoim sprzedawcom otrzymywanie płatności od użytkowników, gdy dokonują oni rezerwacji, umawiają się na wizytę lub umawiają się na spotkanie. Google współpracuje z procesorami płatności w zakresie konfigurowania tokenizacji. Procesory płatności używają unikalnych tokenów do bezpiecznego dokonywania płatności na rzecz sprzedawców.
W przypadku rezerwacji z zabezpieczeniem płatności wyświetlamy w procesie płatności moduł Dane do płatności. Umożliwia to użytkownikowi wpisanie danych karty kredytowej.
Dostępne są wersje 3DS1 i 3DS2. Więcej informacji o ich wdrażaniu znajdziesz w tym samouczku.
Dostępność
Aby sprzedawcy mogli otrzymywać płatności za pomocą Centrum działań, musisz spełniać te wymagania:
- Używaj obsługiwanego procesora płatności. Najnowszą listę obsługiwanych procesorów znajdziesz na stronie Google Pay.
- Akceptuj płatności tokenizowane zgodnie z wytycznymi firmy obsługującej płatności.
- Przejdź proces weryfikacji tożsamości i weryfikacji działalności biznesowej omówiony tutaj.
- Płatności nie można włączyć w przypadku rezerwacji wymagających asynchronicznego potwierdzenia .
Zmiany w plikach danych i serwerze rezerwacji dotyczące płatności
Płatności są realizowane w ramach procesu zgłaszania się na poziomie sprzedawcy. Musisz włączyć płatności dla każdego sprzedawcy, który chce otrzymać płatność za swoje usługi. Aby umożliwić płatności, należy wprowadzić zmiany w plikach danych i na serwerze rezerwacji.
Pliki danych
- Plik danych sprzedawcy: określ informacje o płatności za pomocą zestawu
tokenization_parameter
w polutokenization_config
. Zestaw zależy od wybranego procesora płatności. Ten sam zestaw danychpaymentMethodTokenizationParameters.parameters
, który zostałby przekazany do Google Pay, gdyby nastąpiła integracja. - Pliki danych o usługach/dostępności: określ wymagania dotyczące płatności na podstawie odpowiedniego przypadku użycia. Więcej informacji znajdziesz w artykule Zastosowania płatności.
Serwer rezerwacji
- W zależności od rodzaju płatności dokonywanych przez użytkowników zastosuj metodę
CreateBooking
. - Google będzie wysyłać tokeny płatności w polu
payment_processing_parameters.unparsed_payment_method_token
w ramachCreateBookingRequest
. Jest to ta sama wartośćpaymentData
, którą otrzymasz w ramach integracji z Google Pay. - W
CreateBookingResponse
dodaj wiadomość PaymentInformation, która określa typ płatności, stan, identyfikator transakcji oraz cenę lub strukturę opłat. - W polu
payment_information.payment_processed_by
wCreateBookingResponse
ustaw wartośćPROCESSED_BY_PARTNER
.
Przypadki użycia płatności
Decydując, czy przyjmować płatności w przypadku każdego z tych zastosowań, zapoznaj się z naszą Polityka dotycząca płatności i upewnij się, że możesz przestrzegać wszystkich odpowiednich zasad.
Poniżej znajdziesz przypadki użycia płatności:
- Zakończ rezerwacje z przedpłatą
- Depozyty wymagane przy rezerwacji
- Opłaty za brak stawienia się w przypadku, gdy użytkownik nie stawi się w miejscu rezerwacji
- Karta kredytowa wymagana do dokonania rezerwacji
Więcej informacji o tym, jak wdrożyć poszczególne przypadki użycia, znajdziesz w samouczku Konfigurowanie płatności.
Zakończ rezerwacje z przedpłatą
Rysunek 1 przedstawia przepływ działań między użytkownikami, Tobą (partnerem ds. planowania), Google i procesorem płatności.
- Płatność musi obejmować 100% kwoty kosztów usługi. Innymi słowy, usługi muszą zostać w pełni opłacone w momencie rezerwacji.
-
W polu
prepayment_type
dla tej usługi ustaw wartośćREQUIRED
. - W przypadku tej usługi ustaw pole
require_credit_card
naREQUIRE_CREDIT_CARD_CONDITIONAL
.
Depozyty i opłaty za niestawienie się
Depozyty i opłaty za niestawienie się są konfigurowane w podobny sposób. Rysunek 2 przedstawia przepływ tych czynności między użytkownikami, Tobą (partnerem ds. planowania), Google i procesorem płatności.
Depozyty i opłaty za niestawienie się mogą być używane, aby zapewnić, że użytkownik pojawi się na miejscu rezerwacji.
- Depozyt może zostać obciążony na karcie kredytowej użytkownika z góry lub w późniejszym terminie.
- Jeśli użytkownik nie stawi się na rezerwację, może zostać naliczona opłata za niestawienie się.
- W razie potrzeby zarówno zaliczki, jak i opłaty za niestawienie się mogą być stosowane w przypadku rezerwacji.
- Nawet jeśli nie jest wymagana płatność z góry, serwer rezerwacji musi odpowiedzieć na żądanie CreateBooking za pomocą
PaymentInformation
zawierającegopayment_transaction_id
, który musi być unikalny. Firma obsługująca płatności nie musi podawać wartościpayment_transaction_id
, ponieważ może ona zostać wygenerowana przez serwer rezerwacji.
Depozyty i opłaty za niestawienie się można określić na poziomie Usługi lub Dostępności w przypadku slotu sprzedawcy. Jeśli określisz je na poziomie slotu dostępności, zastąpi to definicje na poziomie usługi.
- Aby umożliwić wpłaty, ustaw pole
deposit
na poziomie usługi lub slotu dostępności. - Aby włączyć opłaty za brak anulowania rezerwacji, ustaw pole
no_show_fee
na poziomie usługi lub slotu dostępności. - Na poziomie usługi lub dostępności slotu ustaw pole
require_credit_card
naREQUIRE_CREDIT_CARD_CONDITIONAL
. - (Opcjonalnie) Ustaw wartość
prepayment_type
naREQUIRED
lubOPTIONAL
.
Wymagane podanie danych karty kredytowej
Mogą też występować inne przypadki, w których rezerwacja wymaga użycia karty kredytowej.
- Ustaw pole
require_credit_card
na wartośćREQUIRE_CREDIT_CARD_ALWAYS
na poziomie usługi lub na poziomie dostępności slotu dla sprzedawcy.
Anulowanie i zwrot środków
Anulowania i zwroty są inicjowane przez partnera (czyli Ciebie) lub przez użytkownika za pomocą Centrum działań. W obu przypadkach musisz przestrzegać CancellationPolicy
, która została ustawiona na poziomie usługi i przekazana użytkownikowi podczas procesu rezerwacji.
Jeśli nie podasz wartościCancellationPolicy
,
zakładamy, że anulowanie w okresie anulowania zdefiniowanym przezmin_advance_online_canceling
ustawiony napoziomie usługi będzie podlegać zwrotowi.
Jeśli parametr min_advance_online_canceling
nie jest zdefiniowany, jego wartość wynosi 0 (co oznacza, że można go anulować w dowolnym momencie).
Jeśli musisz wyłączyć anulowanie w Centrum działań, skontaktuj się z osobą kontaktową Google.
Zmiany dotyczące RTU- Po zwróceniu środków użytkownikowi musisz wysłać RTU aktualizacji rezerwacji, aby zmienić stan płatności rezerwacji. Ustaw
update_mask
nastatus,payment_information.prepayment_status
, apayment_information.prepayment_status = PREPAYMENT_REFUNDED
istatus = CANCELED
nastatus = CANCELED
.- Należy użyć nowych właściwości
BookingStatus = CANCELED
iPrepaymentStatus = PREPAYMENT_REFUNDED
. Wartość enumeracjiCANCELED_AUTOMATIC_REFUND
została wycofana zarówno w przypadku interfejsu API rezerwacji w Google Maps, jak i szablonów gRPC.
- Należy użyć nowych właściwości
- Gdy Centrum działań wyśle wiadomość
UpdateBookingRequest
, która spowoduje zwrot środków dla użytkownika, ustawbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
wUpdateBookingResponse
.