{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Walidacja adresów IP powiadomień","description":"Znajdziesz tutaj wszystkie niezbędne informacje dotyczące integracji i obsługi systemu płatności SimPay.pl","siteUrl":"https://docs.simpay.pl","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"walidacja-adresów-ip-powiadomień","__idx":0},"children":["Walidacja adresów IP powiadomień"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Bezpieczeństwo integracji to absolutny priorytet. Aby mieć 100% pewności, że otrzymane powiadomienie IPN faktycznie pochodzi od systemu SimPay (a nie od złośliwego użytkownika próbującego wyłudzić opłacenie zamówienia), ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["zdecydowanie zalecamy wdrożenie walidacji adresów IP"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wdrożenie tego mechanizmu całkowicie uniemożliwia ataki typu ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["IPN Spoofing"]}," (podszywanie się pod nasze serwery)."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"jak-poprawnie-weryfikować-nadawcę","__idx":1},"children":["Jak poprawnie weryfikować nadawcę?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Nasza infrastruktura sieciowa jest dynamiczna, co oznacza, że pula naszych adresów IP używanych do wysyłki webhooków może ulegać zmianom. Z tego powodu proces autoryzacji każdego powiadomienia powinien wyglądać następująco:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["W momencie, gdy Twój serwer odbiera żądanie POST (Webhook), odczytujesz adres IP nadawcy z nagłówka połączenia."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Następnie Twój system wykonuje szybkie zapytanie ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}," do naszego publicznego endpointu:"," ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.simpay.pl/ip"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Nasze API zwraca aktualną, autoryzowaną listę adresów IP."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Porównujesz IP nadawcy webhooka z otrzymaną listą. Jeśli adres znajduje się na liście – powiadomienie jest autentyczne i możesz bezpiecznie zmienić status zamówienia."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"przykład-odpowiedzi-z-endpointu-ip","__idx":2},"children":["Przykład odpowiedzi z endpointu ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/ip"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Wysyłając zapytanie pod adres ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.simpay.pl/ip"]},", otrzymasz odpowiedź w formacie JSON zawierającą tablicę z naszymi aktualnymi adresami IPv4."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"success\": true,\n  \"data\": [ // tablica adresów IP\n    \"X.X.X.X\",\n    \"Y.Y.Y.Y\"\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"nie-cache-uj-wyników","__idx":3},"children":["Nie cache-uj wyników!"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Absolutnie odradzamy cachowania (zapisywania w pamięci podręcznej) listy adresów IP pobranej z tego endpointu!"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Musisz odpytywać adres ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://api.simpay.pl/ip"]}," w czasie rzeczywistym, ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["przy każdym pojedynczym powiadomieniu IPN"]},", które do Ciebie trafia."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Dlaczego to takie ważne? Lista naszych adresów IP może się zmienić w dowolnej chwili (np. w związku z pracami konserwacyjnymi, aktualizacjami bezpieczeństwa czy skalowaniem serwerów). Jeśli zapiszesz te adresy na \"twardo\" w kodzie (tzw. hardcoding) lub ustawisz dla nich długi czas życia w cache'u (TTL), to w momencie zmiany IP przez SimPay:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Twój sklep zablokuje prawdziwe powiadomienia o opłaceniu zamówienia."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["System nie wyda klientom towarów / usług."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Zaczną się mnożyć skargi i zapytania do supportu."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Oszczędź sobie problemów w przyszłości i zawsze sprawdzaj adresy dynamicznie na bieżąco!"]}]},"headings":[{"value":"Walidacja adresów IP powiadomień","id":"walidacja-adresów-ip-powiadomień","depth":1},{"value":"Jak poprawnie weryfikować nadawcę?","id":"jak-poprawnie-weryfikować-nadawcę","depth":2},{"value":"Przykład odpowiedzi z endpointu /ip","id":"przykład-odpowiedzi-z-endpointu-ip","depth":3},{"value":"Nie cache-uj wyników!","id":"nie-cache-uj-wyników","depth":2}],"frontmatter":{"seo":{"title":"Walidacja adresów IP powiadomień"}},"lastModified":"2026-04-21T23:37:53.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/notifications/payment/ip-validation","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}