W ramach kompleksowej integracji rezerwacji w Centrum działań możesz zezwolić sprzedawcom na otrzymywanie płatności od użytkowników, gdy dokonają rezerwacji, ustanowią spotkanie lub zrobią rezerwację. Google współpracuje z firmami obsługującymi płatności nad konfigurowaniem tokenizacji. Firmy obsługujące płatności używają unikalnych tokenów, aby bezpiecznie płacić sprzedawcom.
W przypadku rezerwacji zabezpieczonych podczas procesu płatności renderujemy moduł Dane do płatności. Dzięki temu użytkownik może podać dane karty kredytowej.
Obsługa 3DS1 i 3DS2 jest dostępna. Więcej informacji znajdziesz w tym samouczku.
Wymagania
Aby Twoi sprzedawcy mogli otrzymywać płatności za pomocą Centrum działań, musisz spełniać te wymagania:
- korzystać z usług obsługiwanego podmiotu przetwarzającego płatności; Najnowszą listę obsługiwanych firm obsługujących płatności znajdziesz na stronie Google Pay.
- Akceptuj tokenizowane płatności zgodnie z informacjami firmy obsługującej płatności.
- Przejdź proces weryfikacji tożsamości i firmy opisany tutaj
- Nie można włączyć płatności za rezerwacje, które wymagają asynchronicznego potwierdzenia .
Zmiany w plikach danych i serwerze rezerwacji do płatności
Płatności są realizowane w ramach procesu akceptacji na poziomie sprzedawcy. Musisz włączyć płatności dla wszystkich sprzedawców, którzy muszą otrzymywać płatności za swoje usługi. Aby umożliwić płatności, musisz wprowadzić zmiany w plikach danych i na serwerze rezerwacji.
Pliki danych
- Plik danych sprzedawcy: określ dane do płatności za pomocą
tokenization_parameter
w polutokenization_config
. Zestaw zależy od firmy obsługującej płatności. Jest to ten sam zestaw danychpaymentMethodTokenizationParameters.parameters
, który zostałby przekazany do Google Pay, jeśli zostałby z nim zintegrowany. - Usługi/pliki danych o dostępności: określ wymagania dotyczące płatności na podstawie odpowiedniego przypadku użycia. Więcej informacji znajdziesz w artykule Przypadki użycia płatności.
Serwer rezerwacji
- Na podstawie typu płatności dokonywanych przez użytkowników zaimplementuj metodę
CreateBooking
- Google wyśle tokeny płatności w polu
payment_processing_parameters.unparsed_payment_method_token
w ramachCreateBookingRequest
. To ta sama wartość (paymentData
), która zostałaby odebranym przez wywołanie zwrotne w integracji z Google Pay. - W
CreateBookingResponse
umieść komunikat PaymentInformation, który określa typ płatności, stan, identyfikator transakcji i strukturę ceny / opłat. - Ustaw w polu
payment_information.payment_processed_by
wartośćPROCESSED_BY_PARTNER
wCreateBookingResponse
.
Przypadki użycia płatności
Zanim zdecydujesz się na dokonywanie płatności w każdym z tych przypadków, zapoznaj się z naszymi zasadami dotyczącymi płatności i upewnij się, że przestrzegasz wszystkich obowiązujących zasad.
Płatności mogą mieć m.in. następujące zastosowania:
- Rezerwowanie z góry
- Zaliczka wymagana przy rezerwacji
- Opłaty za niestawienie się użytkownika, jeśli nie pojawi się on na rezerwacji
- Do rezerwacji wymagana jest karta kredytowa
Więcej informacji o implementowaniu każdego z tych przypadków użycia znajdziesz w samouczku Konfigurowanie płatności.
Rezerwowanie z góry
Rysunek 1 przedstawia przepływ działań między użytkownikami, Tobą (partnerem ds. harmonogramów), Google i firmą obsługującą płatności.
- Płatność musi stanowić 100% kosztu usługi. Oznacza to, że pełną kwotę za usługi należy opłacić w momencie rezerwacji.
-
Ustaw w polu
prepayment_type
wartośćREQUIRED
dla tej usługi. - Ustaw w polu
require_credit_card
wartośćREQUIRE_CREDIT_CARD_CONDITIONAL
dla tej usługi.
Zaliczki i opłaty za niestawienie się
W podobny sposób konfiguruje się kaucje i opłaty za niestawienie się. Rysunek 2 przedstawia przepływ tych działań między użytkownikami, Tobą (partnerem ds. harmonogramu), Google i firmą obsługującą płatności.
Aby zagwarantować, że użytkownik pojawi się podczas rezerwacji, można użyć zaliczki i opłaty za niestawienie się.
- Kaucję można obciążyć kartę kredytową użytkownika z góry lub w późniejszym czasie.
- Jeśli użytkownik nie pojawi się podczas rezerwacji, może zostać naliczona opłata za niestawienie się.
- W razie potrzeby podczas rezerwacji można naliczyć kaucję i opłaty za niestawienie się.
- Nawet jeśli z góry nie jest wymagana płatność, serwer rezerwacji musi odpowiedzieć na żądanie CreateBooking za pomocą
PaymentInformation
zawierającegopayment_transaction_id
, który musi być unikalny.payment_transaction_id
nie musi być podany przez firmę obsługującą płatności, ale może zostać wygenerowany przez serwer rezerwacji.
Wpłaty i opłaty za niestawienie się można określić na poziomie usługi lub na poziomie dostępności w przypadku sprzedawcy. Jeśli podasz je na poziomie przedziału dostępności, zastąpi to definicje na poziomie usługi.
- Aby włączyć wpłaty, ustaw pole
deposit
na poziomie usługi lub przedziału dostępności. - Aby włączyć opłaty za niestawienie się, ustaw pole
no_show_fee
na poziomie usługi lub przedziału dostępności. - Ustaw w polu
require_credit_card
wartośćREQUIRE_CREDIT_CARD_CONDITIONAL
na poziomie usługi lub przedziału dostępności. - (opcjonalnie) Ustaw
prepayment_type
naREQUIRED
lubOPTIONAL
.
Wymagana karta kredytowa
W innych przypadkach użycia może być wymagana karta kredytowa w momencie rezerwacji.
- Ustaw pole
require_credit_card
naREQUIRE_CREDIT_CARD_ALWAYS
na poziomie usługi lub na poziomie przedziału Dostępność w przypadku sprzedawcy.
Anulowanie i zwroty
Anulowania i zwroty środków są inicjowane przez partnera (Ty) lub przez użytkownika w Centrum działań. W obu przypadkach musisz przestrzegać wartości CancellationPolicy
ustawionej na poziomie usługi i przekazanej użytkownikowi podczas płatności za rezerwację.
Jeśli nie podasz danych CancellationPolicy
, przyjmiemy, że każde anulowanie w okresie anulowania określonym przez min_advance_online_canceling
, które zostało ustawione na poziomie usługi, podlega zwrotowi.
Jeśli zasada min_advance_online_canceling
nie jest zdefiniowana, ma wartość 0 (co oznacza, że w każdej chwili można ją anulować).
Jeśli musisz wyłączyć anulowanie w Centrum działań, skontaktuj się z osobą kontaktową w Google.
Zmiany w RTU- Gdy zwrócisz użytkownikowi środki, musisz wysłać aktualizację RTU, aby zmienić stan płatności za rezerwację. Ustaw
update_mask
nastatus,payment_information.prepayment_status
orazpayment_information.prepayment_status = PREPAYMENT_REFUNDED
istatus = CANCELED
.- Używaj nowych funkcji
BookingStatus = CANCELED
iPrepaymentStatus = PREPAYMENT_REFUNDED
. Wartość wyliczeniaCANCELED_AUTOMATIC_REFUND
została wycofana zarówno w przypadku interfejsu Maps Booking API, jak i szablonów gRPC.
- Używaj nowych funkcji
- Gdy Centrum działań wyśle obiekt
UpdateBookingRequest
, a spowoduje to zwrot środków za użytkownika, ustawbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
wUpdateBookingResponse
.