Przejdź do głównej zawartości

56. Webhooks — mechanizm, różnica od API polling, implementacja w PHP

Webhooks — HTTP callbacks

Webhook to mechanizm, w którym serwis zewnętrzny (np. Stripe, GitHub, PayU) wysyła żądanie HTTP do Twojej aplikacji gdy wystąpi zdarzenie (płatność, push kodu). Zamiast co minutę pytać „czy jest coś nowego?” (polling), poczekaj aż serwis sam Cię powiadomi.

  • Płatności online (Stripe, PayU, Przelewy24) używają webhooków
  • GitHub webhooks uruchamiają CI/CD po pushu kodu
  • Slack, Discord, Teams obsługują przychodzące webhooks
  1. Wyjaśnić czym jest webhook i porównać z API polling
  2. Opisać przepływ zdarzenia: zdarzenie → POST → Twój endpoint
  3. Omówić weryfikację podpisu HMAC
  4. Pokazać implementację prostego odbiornika w PHP
  1. Definicja webhooka — „nie pytaj, poczekaj na powiadomienie”
  2. Polling vs Webhook — porównanie z diagramem
  3. Typowe zastosowania: płatności, powiadomienia, CI/CD
  4. Payload: co przychodzi w ciele POST (JSON)
  5. Weryfikacja podpisu HMAC-SHA256 — bezpieczeństwo
  6. Implementacja odbiornika w PHP: odczyt body, weryfikacja, przetworzenie
  7. Idempotentność — co gdy webhook dotrze dwa razy?

Przykład 1

Odbiornik webhooka w PHP z logowaniem do pliku

Przykład 2

Weryfikacja podpisu HMAC-SHA256

Przykład 3

Schemat porównawczy: polling vs webhook
  1. Wstęp — problem pollingu
  2. Czym jest webhook
  3. Polling vs Webhook — porównanie
  4. Zastosowania w praktyce
  5. Implementacja w PHP
  6. Bezpieczeństwo — weryfikacja podpisu
  7. Idempotentność
  8. Podsumowanie i bibliografia

Zarejestruj się na webhook.site i przetestuj!

Wejdź na webhook.site, skopiuj URL i wyślij do niego żądanie z PHP. To najszybszy sposób na zrozumienie jak webhooks działają.