# Kody odpowiedzi HTTP | Kod HTTP | Opis | |----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| | `200` | Zapytanie wykonane poprawnie. | | `400` | Błędne zapytanie, niepoprawny payload zapytania. | | `401` | Nieautoryzowany dostęp. Żądanie zasobu, który wymaga uwierzytelnienia. Upewnij się, że podajesz prawidłlowy [token autoryzacyjny](#topic-authentication). | | `403` | Brak uprawnień do wykonania zapytania. | | `404` | Nieznany zasób.
Informacje na temat obsługi tego błędu znajdziesz niżej. | | `406` | Zapytanie jest poprawne, ale zawiera wartości, które nie mogą zostać obecnie zaakceptowane. Błąd ten będzie zwrócony, gdy zostanie wykorzystana metoda lub kanał płatności, który jest nieaktywny w sklepie, lub tymczasowo ograniczona jest jego dostępność globalnie.
Informacje na temat obsługi tego błędu znajdziesz niżej. | | `422` | Zapytanie nie zawiera wymaganaych parametrów, zawiera niedopuszczalne parametry, lub przesłane w nich wartości nie spełniają wymogów.
Informacje na temat obsługi tego błędu znajdziesz niżej. | | `500` | Błąd serwera dostawcy metody płatności lub serwera imoje.
Informacje na temat obsługi tego błędu znajdziesz niżej. | | `503` | System niedostępny.
Informacje na temat obsługi tego błędu znajdziesz niżej. | | `504` | Przekroczony czas bramy.
Informacje na temat obsługi tego błędu znajdziesz niżej. | # Obsługa kodów odpowiedzi ## 404 Kod błędu 404 oznacza, że wysyłasz zapytanie na endpoint, który nie jest przez nas zdefiniowany. Sprawdź sekcję `Endpoints` lub zajrzyj do punktu [Metody RESTful API](https://bump.sh/pgw/doc/imoje-api#topic-metody-restful-api) i upewnij się, że używany endpoint istnieje i jest przez Ciebie prawidłowo sformułowany. ## 406 Na ten błąd możesz natrafić, jeśli spróbujesz utworzyć transakcję dla metody/kanału płatności, która jest nieaktywna w Twoim sklepie, lub tymczasowo wyłączyliśmy ją globalnie z powodu awarii bądź zaplanowanych prac technicznych. Możesz całkowicie uniknąć tego błędu, jeśli będziesz sprawdzać dostępność metod i kanałów płatności. Zrobisz to, korzystając z zapytania o [dostępne metody płatności](https://bump.sh/pgw/doc/imoje-api/group/endpoint-get-payment-methods) lub zapytania o [dane sklepu](https://bump.sh/pgw/doc/imoje-api/group/endpoint-service). Obydwa rozwiązania zwracają kluczowy parametr `isOnline`, na podstawie którego możesz wyświetlać lub np. wyszarzać poszczególne metody i kanały płatności. **[Zobacz przykład błędu](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-transaction#operation-post-parameter-transaction-406)** ## 422 Upewnij się, że wszystkie parametry oraz wartości przesyłane w zapytaniu są zgodne z naszymi wymaganiami. Zwróć szczególną uwagę, jakie typy danych oraz jakie znaki są dopuszczalne w obrębie każdego parametru, który chcesz użyć. Zakresy dopuszczalnych znaków znajdziesz w sekcji `Body` każdego zapytania. **[Zobacz przykład błędu](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-transaction#operation-post-parameter-transaction-422)** ## 500 To jest błąd, który może pojawić się nagle i warto dobrze się do niego przygotować, aby płynność w płatnościach nie była zbytnio zachwiana oraz by użytkownicy nie mieli kłopotu z realizacją swojego zamówienia. Błąd ten pojawi się najczęściej, gdy spróbujesz utworzyć transakcję dla metody i kanału płatności, w którym natrafimy na problem w komunikacji z różnymi systemami płatności np. przez awarię i nasz system nie zdąży jeszcze nałożyć odpowiedniego limitu dostępności. **Jak najlepiej obsłużyć błąd 500?** Zalecamy w takiej sytuacji wyłączyć w Twoim systemie dany kanał płatności na kilka minut, aby użytkownicy nie natrafiali na kolejne błędy. Następnie możesz zrobić jedną z czynności: 1. Dać użytkownikom możliwość ponowienia płatności poprzez wybranie innej metody/kanału. 2. Nie pokazywać użytkownikom błędu, lub odpowiednio dopasować komunikat i od razu po jego pojawieniu się, generować [link płatności](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-payment) i bezpośrednio do niego kierować. Aby mieć pewność, że użytkownik nie wybierze ponownie na naszej bramce tej samej metody/kanału, skorzystaj z tablicy [`visibleMethod`](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-payment#operation-post-parameter-payment-body-application-json-visiblemethod) i wskaż tam wszystkie metody płatności, które chcesz z wyjątkiem metody, przy której wystąpił błąd. > info > W przypadku wykrycia przez nas nadmiernej ilości błędów 500 staramy się jak najszybciej nałożyć limit na daną metodę/kanał płatności. Próba utworzenia transakcji w takiej sytuacji wiązać będzie się z błędem `406`. Upewnij się, że wiesz również jak obsługiwać ten błąd. **[Zobacz przykład błędu](https://bump.sh/pgw/doc/imoje-api/operation/operation-post-parameter-transaction#operation-post-parameter-transaction-500)** ## 503 i 504 Błędy te oznaczają, że są problemy z dostępnością naszego systemu. W przypadku natrafienia na któryś z nich, najlepiej tymczasowo wyłączyć możliwość korzystania z płatności imoje w Twojej aplikacji i sprawdzić status sytuacji po np. 5 minutach za pomocą pojedynczego, dowolnego zapytania metodą `GET`.