W ramach kompleksowej integracji funkcji Zarezerwuj z Google możesz umożliwić sprzedawcom otrzymywanie płatności od użytkowników, którzy zrobili rezerwację, umówili się na spotkanie lub zrobili rezerwację. Google korzysta z usług firm obsługujących płatności przy konfiguracji tokenizacji. Firmy obsługujące płatności używają unikalnych tokenów do bezpiecznego płacenia sprzedawcom.
W przypadku rezerwacji zabezpieczonych przed płatnością renderujemy moduł Informacje o płatności w procesie płatności. Dzięki temu użytkownik może podać dane karty kredytowej.
Dostępna jest obsługa technologii 3DS1 i 3DS2. Zapoznaj się z tym samouczkiem dotyczącym wdrażania.
Możliwości zastosowania
Aby Twoi sprzedawcy mogli otrzymywać płatności przez Zarezerwuj z Google, musisz spełniać te wymagania:
- Użyj obsługiwanego podmiotu obsługującego płatności. Najnowszą listę obsługiwanych firm przetwarzających płatności można znaleźć na stronie Google Pay.
- Akceptuj płatności tokenizowane zgodnie z procesorem.
- Nie można włączyć płatności za rezerwacje, które wymagają asynchronicznego potwierdzenia.
Zmiany w plikach danych i serwerze rezerwacji w przypadku płatności
Płatności są realizowane przez proces rejestracji na poziomie sprzedawcy. Musisz włączyć płatności dla sprzedawców, którzy chcą otrzymywać płatności za usługi. Aby umożliwić płatności, należy wprowadzić zmiany w plikach danych i na serwerze rezerwacji.
Pliki danych
- Plik danych o sprzedawcach: określ dane do płatności za pomocą atrybutu
tokenization_parameter
ustawionego w polutokenization_config
. Zestaw zależy od wybranego podmiotu przetwarzającego płatności. Ten zestaw to ten sam zestaw elementówpaymentMethodTokenizationParameters.parameters
, który zostałby przekazany do Google Pay, gdyby przeprowadził on integrację z tą aplikacją. - Pliki danych usług/dostępności: określ wymagania dotyczące płatności w zależności od konkretnego przypadku użycia. Więcej informacji znajdziesz w artykule Przypadki użycia związane z płatnościami.
Serwer rezerwacji
- Wdróż metodę
CreateBooking
zależnie od typu płatności wykonywanych przez użytkowników - Google wyśle tokeny płatności w polu
payment_processing_parameters.unparsed_payment_method_token
w ramachCreateBookingRequest
. To jest ten sampaymentData
, który otrzymałby Twój wywołanie zwrotne w integracji z Google Pay. - W
CreateBookingResponse
zawierają komunikat PaymentInformation, który określa typ płatności, stan, identyfikator transakcji oraz strukturę cen i opłat. - Ustaw
w polu
payment_information.payment_processed_by
PROCESSED_BY_PARTNER
naCreateBookingResponse
.
Przypadki użycia płatności
Podczas podejmowania decyzji o przyjęciu płatności w każdym z tych przypadków użycia zapoznaj się z zasadami dotyczącymi płatności i upewnij się, że ich przestrzegasz.
Istnieją przypadki użycia płatności:
- Dokończ rezerwacje z przedpłaty
- Wpłata wymagana do dokonania rezerwacji
- Opłaty za niestawienie się, jeśli użytkownik nie pojawi się w rezerwacji
- Karta kredytowa wymagana do rezerwacji
Więcej informacji na temat implementacji każdego z tych przypadków użycia znajdziesz w samouczku konfigurowania płatności.
Dokonywanie przedpłaconych rezerwacji
Ilustracja 1 przedstawia przepływ aktywności między użytkownikami, Tobą (partnerem obsługującym harmonogram), Google i firmą obsługującą płatności.
- Płatność musi uwzględniać 100% kwoty kosztu usługi. Oznacza to, że w momencie rezerwacji usługi muszą być w pełni opłacone.
-
Ustaw w tej usłudze pole
prepayment_type
naREQUIRED
. - W polu
require_credit_card
ustaw wartośćREQUIRE_CREDIT_CARD_CONDITIONAL
dla tej usługi.
Kaucje i opłaty za niestawienie się
Kaucje i opłaty za niestawienie się są skonfigurowane w podobny sposób. Ilustracja 2 przedstawia przepływ tych działań między użytkownikami, Tobą (partnerem obsługującym harmonogram), Google i podmiotem przetwarzającym płatności.
Wpłaty i opłaty za niestawienie się mogą być używane, aby zapewnić użytkownikowi rezerwację.
- Wpłata na konto karty kredytowej użytkownika może zostać pobrana z góry lub później.
- Jeśli użytkownik nie pojawi się w polu rezerwacji, może zostać naliczona opłata za niestawienie się.
- W razie potrzeby do kwoty rezerwacji może zostać dodana zarówno opłata, jak i opłata za niestawienie się.
- Nawet jeśli nie jest wymagana płatność z góry, serwer rezerwacji musi odpowiedzieć na żądanie CreateBooking, podając kod
PaymentInformation
z wartościąpayment_transaction_id
, która musi być unikalna.payment_transaction_id
nie musi być podanej przez firmę obsługującą płatności, ale może być generowana przez serwer rezerwacji.
Wpłaty i opłaty za niestawienie się można określić dla sprzedawcy na poziomie usługi lub dostępności. Jeśli podasz je na poziomie przedziału dostępności, spowoduje to zastąpienie definicji na poziomie usługi.
- Aby włączyć depozyty, ustaw pole
deposit
na poziomie przedziału usług lub dostępności. - Aby włączyć opłaty za niestawienie się, ustaw pole
no_show_fee
na poziomie przedziału usług lub dostępności. - W polu
require_credit_card
ustaw wartośćREQUIRE_CREDIT_CARD_CONDITIONAL
na poziomie przedziału usług lub dostępności. - (Opcjonalnie) Ustaw
prepayment_type
naREQUIRED
lubOPTIONAL
.
Wymagana jest karta kredytowa
W przypadku rezerwacji mogą być też inne przypadki użycia wymagającej karty kredytowej.
- W polu
require_credit_card
ustaw wartośćREQUIRE_CREDIT_CARD_ALWAYS
na poziomie usługi lub dostępu sprzedawcy.
Anulowanie rezerwacji i zwroty środków
Anulowanie rezerwacji i zwrot środków są inicjowane przez partnera (Ciebie) lub przez użytkownika za pomocą funkcji Zarezerwuj z Google. W obu przypadkach musisz przestrzegać wartości CancellationPolicy
ustawionej na poziomie usługi i przekazanej użytkownikowi podczas dokonywania płatności.
Jeśli nie podasz wartości CancellationPolicy
, przyjmujemy, że zwrot środków w okresie anulowania zdefiniowanym przez użytkownika min_advance_online_canceling
, który został ustawiony na poziomie usługi, jest zwracany.
Jeśli wartość min_advance_online_canceling
nie jest określona, wynosi 0 (co oznacza, że w każdej chwili można ją anulować).
Jeśli musisz wyłączyć anulowanie przez stronę Zarezerwuj z Google, skontaktuj się z osobą kontaktową dla partnerów Google.
Zmiany dotyczące RTU- Gdy zwrócisz użytkownikowi środki, musisz wysłać aktualizację RTU rezerwacji, aby zmienić stan płatności za rezerwację. Ustaw
update_mask
nastatus,payment_information.prepayment_status
, apayment_information.prepayment_status = PREPAYMENT_REFUNDED
istatus = CANCELED
.- Użyj nowych
BookingStatus = CANCELED
iPrepaymentStatus = PREPAYMENT_REFUNDED
. Wartość wyliczeniaCANCELED_AUTOMATIC_REFUND
została wycofana zarówno w przypadku interfejsu API Map Google Booking, jak i szablonu gRPC.
- Użyj nowych
- Gdy funkcja Zarezerwuj z Google wyśle
UpdateBookingRequest
i zwróci użytkownikowi środki, ustawbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
wUpdateBookingResponse
.