Skip to content

Weryfikacja podpisu webhooka

Jak sprawdzać nagłówek X-Infakt-Signature, żeby przyjmować tylko prawdziwe zdarzenia od inFakt.

Zaktualizowano

Podpis to HMAC-SHA256 surowej treści żądania, wyliczony sekretem webhooka i zapisany w postaci szesnastkowej. Weryfikacja polega na samodzielnym wyliczeniu podpisu i porównaniu go z nagłówkiem X-Infakt-Signature.

Wymagania

Kroki

  1. Odczyt surowej treści żądania

    Podpis wylicza się z treści w postaci, w jakiej przyszła, zanim framework sparsuje JSON. JSON zapisany ponownie ma inną postać i inny podpis.

  2. Porównanie podpisu

  3. Odrzucenie niepoprawnych żądań

    Przy niezgodnym podpisie aplikacja odpowiada kodem 401 i nie przetwarza zdarzenia.

Weryfikacja

Po wystawieniu testowej faktury endpoint powinien przyjąć zdarzenie i odpowiedzieć kodem 200. Następnie można wysłać ręcznie żądanie z nieprawidłowym podpisem:

curl -i -X POST "https://<twój-adres>/webhooks/infakt" \
  -H "Content-Type: application/json" \
  -H "X-Infakt-Signature: 0000" \
  -d '{"event":{"name":"invoice_paid"}}'

Odpowiedź 401 oznacza, że weryfikacja działa poprawnie.

Następne kroki

Type to search…

↑↓ wybór↵ otwórzEsc zamyka