Przejdź do treści

Płatności online i Stripe

Simple Bike Rental Pro umożliwia przyjmowanie płatności online przez Stripe. System został zaprojektowany z myślą o prostocie, niezawodności i zgodności ze standardami bezpieczeństwa Stripe.

W Simple Bike Rental Pro możesz skonfigurować system płatności online w sekcji Bicycles → Settings. Znajdziesz tam następujące pola:

ustawienia płatności Stripe

Omówmy je po kolei.

Włączanie płatności online

Włącz tę opcję, aby uruchomić płatności online. Gdy jest włączona:

  • użytkownik musi ukończyć płatność Stripe, aby potwierdzić rezerwację.
  • rezerwacja pozostaje ze statusem „Pending”, dopóki Stripe nie potwierdzi płatności.
  • formularz na stronie wyświetla przycisk „Pay Now”.

Jeśli wyłączysz tę opcję:

  • rezerwacje są potwierdzane e-mailem za pomocą systemu tokenów;
  • Stripe nie uczestniczy w tym procesie.

Włączanie płatności częściowych

W Simple Bike Rental Pro możesz włączyć płatności częściowe za wynajem. Dzięki tej funkcji klienci mogą zapłacić online tylko przedpłatę zamiast pełnej kwoty.

  • Po włączeniu klient będzie mógł zapłacić tylko część łącznej kwoty podczas dokonywania rezerwacji.

  • Jeśli ta opcja jest wyłączona, wymagana będzie pełna płatność, zgodnie ze standardowym procesem.


Rodzaj płatności częściowej

Określa sposób obliczania płatności częściowej.

Dostępne opcje:

  • Percentage: przedpłata jest obliczana jako procent łącznej kwoty.
  • Fixed amount: przedpłata jest stałą kwotą.

Wartość płatności częściowej

Określ wartość przedpłaty w zależności od wybranego rodzaju płatności częściowej.

  • Jeśli wybrano Percentage, wpisz wartość od 1 do 100 (np. 20 = 20% łącznej kwoty).
  • Jeśli wybrano Fixed amount, wpisz kwotę większą od zera.

Włączanie wynajmu akcesoriów (opcjonalnie)

Po włączeniu formularz rezerwacji wyświetli skonfigurowane akcesoria (np. kaski, foteliki dziecięce, zapięcia) i uwzględni je w łącznej kwocie.

Informacje o konfiguracji akcesoriów, ich dostępności i zarządzaniu nimi w rezerwacjach znajdziesz w przewodniku Akcesoria.


Waluta płatności

Wybierz walutę, w której chcesz otrzymywać płatności.

Przykłady:

  • Euro (EUR)
  • Dolar amerykański (USD)
  • Inne waluty obsługiwane przez Stripe

Wybrana waluta musi być obsługiwana przez Twoje konto Stripe.


Położenie symbolu waluty

W ustawieniach wtyczki możesz wybrać miejsce wyświetlania symbolu waluty - przed kwotą lub po niej.

Pozwala to poprawnie formatować ceny w krajach, w których symbol waluty występuje po liczbie (na przykład 100 zł), a jednocześnie obsługiwać formaty takie jak €100 lub $100.


Dodatkowe metody płatności

Oprócz tradycyjnych kart kredytowych Simple Bike Rental Pro obsługuje dwie dodatkowe metody płatności (jeśli są dostępne na Twoim koncie Stripe):

✔ Stripe BLIK

Pozwala użytkownikom w Polsce płacić za pomocą BLIK. Płatności BLIK korzystają z tego samego webhooka co zwykłe płatności, więc nie wymagają dodatkowej konfiguracji.

✔ Stripe Przelewy24 (P24)

Pozwala na płatności przez P24, popularną metodę płatności w Polsce. Płatności P24 również korzystają z tego samego webhooka.

Uwaga: Te metody trzeba również włączyć w panelu Stripe.


Strona płatności

Strona, na której wyświetlane jest podsumowanie rezerwacji wraz z przyciskiem płatności.

Na tej stronie umieść shortcode:

[simpbire_payment]

Utwórz nową stronę „Płatność” i umieść w niej shortcode.

strona płatności

Strona podziękowania po płatności

Strona wyświetlana użytkownikowi po udanej płatności. Umieść w niej shortcode:

[simpbire_success]

Utwórz nową stronę, na przykład „Płatność potwierdzona”, i umieść w niej shortcode.

strona potwierdzenia płatności

Klucz publiczny i klucz tajny Stripe

Klucz publiczny konta Stripe służy do rozpoczęcia procesu płatności. Klucz tajny umożliwia bezpieczną komunikację ze Stripe.

Znajdziesz je w panelu Stripe, w sekcji Developers → API Keys.

klucze Stripe

Tajny klucz webhooka Stripe

Tajny klucz webhooka jest wymagany do odbierania potwierdzeń płatności ze Stripe. Możesz go uzyskać po utworzeniu webhooka w panelu Stripe w sekcji Developers → Webhooks.

Webhook Stripe powiadamia witrynę o pomyślnym zakończeniu płatności.

Chociaż Simple Bike Rental Pro może działać bez skonfigurowanego webhooka, zdecydowanie zalecamy jego włączenie. Dlaczego?

W rzadkich przypadkach, na przykład przy błędzie przekierowania ze Stripe do witryny, rezerwacja może nie zostać prawidłowo zaktualizowana mimo udanej płatności. Może wtedy pozostać ze statusem „pending payment”.

Włączenie webhooka zapewnia:

  • automatyczne potwierdzenie rezerwacji po przetworzeniu płatności przez Stripe.
  • wysyłanie powiadomień e-mail również wtedy, gdy przekierowanie do witryny się nie powiedzie.
  • większą niezawodność i dokładność zarządzania rezerwacjami.

Utwórz nowy webhook w Stripe Dashboard → Developers → Webhooks → + Add endpoint:

endpoint Stripe

1 – Skopiuj URL webhooka

https://yourdomain.com/wp-admin/admin-ajax.php?action=simpbire_webhook_stripe

Zastąp yourdomain.com swoją rzeczywistą domeną.

2 – Zaloguj się do panelu Stripe

  • Otwórz dashboard.stripe.com.
  • Wybierz projekt używany przez wtyczkę.
  • Na lewym pasku bocznym przejdź do Developers → Webhook.

3 – Utwórz nowy endpoint

  • Kliknij „Add endpoint”.
  • Wklej URL webhooka skopiowany w kroku 1.
  • W Events to send wybierz tylko: checkout.session.completed.
  • Kliknij „Add endpoint”, aby zapisać.

4 – Skopiuj tajny klucz webhooka

Po utworzeniu endpointu Stripe wyświetli tajny klucz.

  • Skopiuj go.
  • Wróć do panelu WordPress i przejdź do ustawień wtyczki.
  • Wklej tajny klucz w pole Stripe Webhook Secret.
  • Zapisz ustawienia.

5 – Przetestuj integrację

Utwórz testową rezerwację i dokończ płatność. Sprawdź, czy:

  • Rezerwacja jest oznaczona jako ukończona w panelu administracyjnym.
  • Użytkownik zostaje przekierowany na stronę podziękowania.
  • Stripe nie usuwa już webhooka, pod warunkiem że serwer zwraca odpowiedź HTTP 200.

Jeśli serwer nie odpowiada prawidłowo na zdarzenia webhooka Stripe, Stripe automatycznie ponawia próbę ich dostarczenia. W trybie produkcyjnym Stripe ponawia nieudane próby przez maksymalnie trzy dni, stosując wykładniczo rosnące odstępy między kolejnymi próbami. Dlatego ważne jest sprawdzenie, czy wtyczka prawidłowo odpowiada na zdarzenia wysyłane przez Stripe.

Jak sprawdzić, czy serwer odpowiada kodem HTTP 200

  1. Przejdź do Stripe → Developers → Webhooks.
  2. Kliknij skonfigurowany endpoint.
  3. Znajdziesz sekcję „Recent events”:
  4. Jeśli wszystko działa prawidłowo, przy każdym zdarzeniu pojawi się zielony znacznik z komunikatem „200 OK”.
  5. W przypadku problemu zobaczysz komunikaty takie jak „500 error”, „404 not found”, „Endpoint unavailable” i podobne.
  6. Możesz kliknąć każde zdarzenie, aby zobaczyć:
  7. żądanie wysłane przez Stripe,
  8. odpowiedź serwera (wraz z kodem HTTP).
  9. Jeśli Stripe wielokrotnie otrzyma błędy (np. 400, 404, 500), po kilku próbach automatycznie wyłączy endpoint, aby zapobiec ciągłemu wysyłaniu żądań.

Dopóki integracja prawidłowo odpowiada kodem HTTP 200, Stripe będzie uznawać webhook za aktywny i działający prawidłowo.


Wskazówki dotyczące trybu testowego

Możesz użyć trybu testowego Stripe z kartą testową:

  • Numer karty: 4242 4242 4242 4242
  • Data ważności: dowolna przyszła data (np. 12/30)
  • CVC: dowolne 3 cyfry (np. 123)

To wszystkie informacje potrzebne do skonfigurowania płatności online.


Typowe błędy webhooka

Gdy Stripe wysyła powiadomienie do witryny, oczekuje odpowiedzi HTTP 200. Jeśli serwer zwróci błąd, Stripe go zapisze i po kilku próbach może wyłączyć endpoint.

Oto najczęstsze błędy i sposoby ich rozwiązania.

404 – Endpoint not found

Co to oznacza?

URL webhooka nie istnieje albo jest nieosiągalny.

Możliwe przyczyny:

  • nieprawidłowo skopiowany URL w Stripe
  • wyłączona wtyczka
  • niedziałające bezpośrednie odnośniki WordPress lub wtyczka bezpieczeństwa blokująca endpoint.

Rozwiązanie:

  • Skopiuj prawidłowy endpoint z ustawień wtyczki.
  • Ponownie zapisz bezpośrednie odnośniki WordPress (Ustawienia → Bezpośrednie odnośniki → Zapisz zmiany)

401 / 403 – Unauthorized / Forbidden

Co to oznacza:

Stripe nie może uzyskać dostępu do adresu URL lub jest blokowany.

Możliwe przyczyny:

  • zapora hostingu (Aruba, SiteGround itp.)
  • wtyczki bezpieczeństwa blokujące zewnętrzne żądania POST

Rozwiązanie:

  • Dodaj adresy IP Stripe do listy dozwolonych adresów w hostingu i zaporze.
  • Tymczasowo wyłącz wtyczki takie jak Wordfence lub iThemes Security, aby to sprawdzić.

400 – Bad Request

Co to oznacza?

Stripe może połączyć się z serwerem, ale żądanie jest nieprawidłowe.

Możliwe przyczyny:

  • Nieprawidłowy klucz webhooka we wtyczce
  • brakujące lub nieprawidłowe dane w payloadzie

Rozwiązanie:

  • Skopiuj tajny klucz webhooka z Stripe → Developers → Webhooks → Endpoint → „Signing Secret”

Webhook wyłączony (automatycznie przez Stripe)

Co to oznacza:

Stripe otrzymał zbyt wiele błędnych odpowiedzi z rzędu.

Rozwiązanie:

  1. Napraw błąd w endpoincie.

Jak sprawdzić, czy wszystko działa prawidłowo

Przejdź do Stripe → Developers → Webhooks → Endpoint → Recent events.

  • jeśli widzisz „200 OK” → wszystko działa
  • jeśli widzisz błędy, kliknij zdarzenie, aby zobaczyć żądanie i odpowiedź serwera.

Gdy serwer będzie konsekwentnie odpowiadać prawidłowo, zdarzenia webhooka powinny być dostarczane bez kolejnych prób ponownego wysłania.