Określanie typów płatności

Wymagania wstępne

Aby skorzystać z tego przewodnika, musisz wykonać te czynności:

  1. Zapoznaj się z zasadami dotyczącymi płatności.
  2. Musisz wykonać część integracji E2E dotyczącą eksportowanych plików danych.

Oto obsługiwane formy płatności w przypadku tego dodatku:

  1. Przedpłata
  2. Opłata za niestawienie się / opłata za anulowanie
  3. Wpłata
  4. Wymagana karta kredytowa

Wszystkie przypadki użycia dotyczące płatności stanowią rozszerzenia przypadków użycia braku płatności lub płatności po przyjeździe (które nie wymagają konfigurowania płatności), więc ten samouczek zacznie od opisania tej konfiguracji i traktowania innych konfiguracji jako rozszerzeń.

Przedpłata

Ta konfiguracja służy do określenia, że kwota za usługę musi być zapłacona w całości w momencie rezerwacji. Przedpłata jest określana na poziomie dostępności w polu payment w pliku danych Avaibility.

{
  "availability": [{
    "merchant_id": "dining-A",
    "service_id": "reservation",
    "start_sec": 1535853600,
    "duration_sec": 2700,
    "spots_total": 2,
    "spots_open": 2,
    "resources": {
    "room_id": "A-dining-room",
    "room_name": "Wine Tasting Room",
    "party_size": 2,
    "prepayment": {
      "price_info": {
        "price": {
          "price_micros": 200000000,
          "currency_code": "USD",
          },
        "price_type": "PER_PERSON"
        }
      }
    }
  }]
}

Opłata za niestawienie się

Jeśli użytkownik nie weźmie udziału w rezerwacji lub zrezygnuje z nieobecności po upływie okresu anulowania, może zostać obciążony opłatą za niestawienie się. Jeśli nie określisz czasu anulowania, domyślnie zostanie użyta godzina rozpoczęcia przedziału czasu.

Aby określić opłatę za niestawienie się, w pliku danych o usługach dodaj pole no_show_fee jak w tym przykładzie:

{
    "merchant_id": "merchant-1",
    "service_id": "service-2-b",
    "name": "Reservation",
    "description": "A dining reservation",
    "price": {
        "price_micros": 200000000,
        "currency_code": "USD"
    },
    "scheduling_rules": {
        "min_advance_online_canceling": 14400,
    },
    "no_show_fee": {
        "fee": {
            "price_micros": 25000000,
            "currency_code": "USD"
        },
        "fee_type": "FIXED_RATE_DEFAULT"
    }
}

W tym przykładzie partner lub sprzedawca jest upoważniony do naliczania opłaty o stałej stawce w wysokości 25 USD określonej w polu no_show_fee.fee.price_micros, jeśli osoba mianowana nie uczestniczy w spotkaniu. Opłata może też zostać naliczona, jeśli użytkownik anuluje rezerwację w ciągu 4 godzin (14 400 sekund) przed spotkaniem, zgodnie z informacjami w polu scheduling_rules.min_advance_online_canceling.

Aby dowiedzieć się, jak określić wysokość opłat za pokazanie w pliku danych o dostępności, przeczytaj artykuł Zastępowanie cen na poziomie dostępności.

Możesz też opcjonalnie skonfigurować opłatę za niestawienie się za osobę. W tym przypadku no_show_fee.fee.fee_type może być ustawiony na PER_PERSON.

Wpłata

Kaucja służy do pobierania początkowej opłaty wymaganej do dokonania rezerwacji. Zaliczkę można pobrać w momencie rezerwacji lub w późniejszym czasie. Musisz określić, na jakich warunkach kaucja ma być zwracana, a także kiedy można anulować rezerwację online.

Aby określić wpłatę, w pliku danych usługi należy uwzględnić pole deposit, jak pokazano w tym przykładzie:

{
    "merchant_id": "merchant-1",
    "service_id": "service-2-b",
    "name": "Reservation",
    "description": "A dining reservation",
    "price": {
        "price_micros": 200000000,
        "currency_code": "USD"
    },
    "scheduling_rules": {
        "min_advance_online_canceling": 86400,
    },
    "deposit": {
        "deposit": {
            "price_micros": 25000000,
            "currency_code": "USD",
            "min_advance_cancellation_sec": 14400,
        },
        "deposit_type": "FIXED_RATE_DEFAULT"
    }
}

W tym przykładzie min_advance_online_canceling określa okres anulowania, a deposit.min_advance_cancellation_sec określa, kiedy kaucja podlega zwrotowi. Pamiętaj, że w tym przykładzie wpłata może określać czas anulowania niezależnie od warunków zwrotu. W takim przypadku użytkownik może anulować usługę online z maksymalnie 24-godzinnym (86400-sekundowym) wyprzedzeniem. Dzięki temu sprzedawca zostanie bezpośrednio poinformowany o ewentualnych opóźnieniach. Użytkownik może jednak ubiegać się o zwrot środków za wpłatę, nawet do 4 godzin przed dokonaniem rezerwacji (14 400 sekund) przed dokonaniem rezerwacji (kontaktując się z Tobą lub sprzedawcą w celu anulowania rezerwacji). Informacja ta będzie podana w warunkach w momencie płatności oraz w e-mailu z potwierdzeniem.

Aby dowiedzieć się, jak można definiować wpłaty na poziomie dostępności, przeczytaj artykuł Zastępowanie cen na poziomie dostępności.

Pamiętaj też, że podobnie jak w przypadku opłat za niestawienie się, kaucja może być pobierana według stałej lub stałej stawki za osobę. W tym przypadku depozyt ma stałą stawkę 25 USD określoną w "deposit_type": "FIXED_RATE_DEFAULT". Jeśli rezerwacja obejmuje jedną osobę, kaucję można określić jako kaucję za osobę za pomocą ustawienia "deposit_type": "PER_PERSON".

Wymagaj karty kredytowej

Usługa może wymagać karty kredytowej jako dodatkowego sposobu weryfikacji tożsamości. Nie należy jednak korzystać z tej formy płatności w przypadku przedpłaty, wpłat ani opłat za pokazanie się. Jeśli są one wymagane, musisz wyraźnie skonfigurować te dane. Wymaganie karty kredytowej często prowadzi do znacznego spadku liczby rezerwacji na tę usługę.

Aby podczas płatności wymagać podawania karty kredytowej, musisz ustawić w polu require_credit_card wartość REQUIRE_CREDIT_CARD_ALWAYS.

{
    "merchant_id": "merchant-1",
    "service_id": "reservation",
    "name": "reservation",
    "description": "Food reservation",
    "require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS"
}

Zastąp cenę na poziomie dostępności

Struktura cen i opłat jest określana na poziomie Usługi. W większości przypadków należy używać tych cen na poziomie usługi. Warto jednak zmienić strukturę płatności w przypadku niektórych przedziałów dostępności. W takich sytuacjach możesz na przykład zastąpić ceny lub opłaty na poziomie dostępności:

  • Ceny są niższe we wtorki i zwiększane w soboty.
  • W przypadku dostępności w godzinach 17:00–19:00 nie są pobierane opłaty za pokaz.
  • Wymagaj wpłaty dla większych grup.
  • Do rezerwacji w przypadku niektórych pokoi wymagana jest karta kredytowa.

W tabeli typów płatności znajduje się lista pól, które w przypadku każdej formy płatności / opłaty należy użyć w pliku danych o dostępności, aby zastąpić definicję poziomu usługi.

Forma płatności Definicja pliku danych Można zastąpić?
Przedpłata Availability.prepayment Nie można zastąpić
Opłata za niestawienie się Service.no_show_fee Availability.no_show_fee
Wpłata Service.deposit Availability.deposit