Developer DocumentationsAutoryzacja i wymagania techniczne

Autoryzacja i wymagania techniczne

Autoryzacja

 

Do uwierzytelniania komunikacji klienta z InPost Pay (Basket App) wykorzystany jest standard OAuth 2.0. W przypadku komunikacji service to service – bez kontekstu zalogowanego użytkownika wykorzystany jest client_credentials flow a OAuth (https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/).

  • Merchant otrzymuje swój client_Id i client_Secret

  • Pobiera access token

  • Podpisuje każdy request. Access token należy przekazać w nagłówku Authorization: Bearer W-TYM-MIEJSCU-NALEZY-UMIESCIC-TOKEN

  • Serwer zasobów weryfikuje token i identyfikuje klienta

 

Wszystkie zapytania wysyłane do serwera wymagają podania prawidłowego i ważnego access tokenu, który należy do określonego Użytkownika.

Wygenerowany token ma określoną ważność, nie ma konieczności pobierania nowego tokena przy każdym zapytaniu.

Token endpoint jest stały i może być parametrem konfiguracyjnym po stronie klienta:
https://login.inpost.pl/auth/realms/external/protocol/openid-connect/token


Środowisko produkcyjne

https://login.inpost.pl/auth/realms/external/protocol/openid-connect/token

 

Aby uzyskać dostępy do środowiska produkcyjnego podpisz umowę Umowa o obsługę i rozliczanie transakcji. Jeśli jeszcze nie podpisałeś umowy skontaktuj się ze swoim przedstawicielem handlowym InPost lub skorzystaj z formularza z zakładki Oferta InPost Pay.  

Po podpisaniu umowy: 

  1. Zaloguj się do serwisu LINK używając danych do logowania w Manager Paczek (system do obsługi umowy logistycznej InPost).  

UWAGA! Uzupełnienie wszystkich informacji jest niezbędne do wygenerowania dostępów (Client_id oraz Client_secret) na środowisko produkcyjne usługi InPost Pay 

  1. Po zalogowaniu zobaczysz menu z poniższymi kategoriami 

  2. Przejdź do zakładki

    Dodaj w niej informacje o Twoim sklepie internetowym, które użytkownicy zobaczą w aplikacji InPost mobile podczas dokonywania zakupów. Kliknij przycisk EDYTUJ, aby edytować informacje. 

 

 

Nazwa merchanta – to bardzo istotne pole, w które powinieneś wpisać nazwę sklepu, jaką klienci zobaczą w aplikacji InPost mobile podczas robienia zakupów. 

 

PRZYKŁAD WIDOKU W APLIKACJI

 

Logo sklepu – to logo, które klienci zobaczą w aplikacji InPost mobile podczas robienia zakupów, zaraz obok nazwy Twojego sklepu. Logo, powinno być dostosowane do maksymalnej szerokości 72px lub maksymalnej wysokości 32px, aby zapewnić czytelność i odpowiednią wizualizację na różnych urządzeniach. Dodatkowo, prosimy o dostarczenie logo w dwóch wersjach kolorystycznych, light mode oraz dark mode, zoptymalizowane tak, aby zapewnić czytelność i estetykę na jasnym i ciemnym tle. Dzięki dostarczeniu logo w obu tych wersjach kolorystycznych, zapewnimy spójność i estetykę, niezależnie od tego, czy użytkownik korzysta z trybu jasnego czy ciemnego aplikacji. W pole wklej link do swojego logo i użyj przycisku Załaduj – wówczas po prawej stronie zobaczysz poprawnie załadowane logo Twojego sklepu. 

 

Komunikacja z backendem – to link, który umożliwi wymianę informacji między Twoim sklepem, a naszą usługą. 

  • Jeśli korzystasz z integracji API wklej tam swój dedykowany link. 

  • Jeśli korzystasz z technologii wtyczkowej podaj tu po prostu link do Twojego sklepu 

Dane kontaktowe -  poniższe dane będą prezentowane w szczegółach Twojego sklepu, klienci zobaczą je w aplikacji InPost mobile podczas robienia zakupów.  

  • Numer komórkowy (wymagany) 

  • Numer stacjonarny (niewymagany) 

  • Email do kontaktu (wymagany) 

  • Link do formularza kontaktowego (niewymagany) 

 

  1. Po uzupełnieniu wszystkich danych kliknij przycisk Zapisz zmiany 



  2. Przejdź do zakładki Konfiguracja klienta API

    U góry w prawym rogu wybierz przycisk Dodaj nowy sklep

     

  3. Wpisz nazwę Twojego sklepu (ta nazwa jest widoczna tylko dla Ciebie, klienci jej nie zobaczą) 

    Wprowadź nazwę sklepu i kliknij Zapisz 

  4. Na ekranie pojawią się dostępy do środowiska produkcyjnego – skopiuj je i pamiętaj – nie udostępniaj ich nikomu!

  5. Dodany sklep będzie widoczny w tej zakładce wraz z Client_ID, jeśli zapomnisz Client_Secret możesz je odzyskać klikając przycisk Resetuj 

  6. W ostatniej zakładce:

    Możesz uzyskać secret do Merchant Transaction API (nie każdy potrzebuje tej funkcji) – całościowy opis tej usługi znajdziesz tu Zwroty i transakcje - Developer Documentations - Confluence (atlassian.net)  

W tej zakładce nie musisz nic wypełniać, możesz jedynie podejrzeć secret lub go zresetować.  


 

Środowisko sandbox

https://sandbox-login.inpost.pl/auth/realms/external/protocol/openid-connect/token

 

Aby uzyskać dostęp do sandbox InPost Pay wyślij poniższy plik z wszystkimi uzupełnionymi informacjami na adres integracjapay@inpost.pl 

 

Na potrzeby testów udostępniamy też Ci nasze aplikacje testowe InPost Mobile:

  • iOS instalujemy poprzez pobranie aplikacji z linku 

https://testflight.apple.com/join/ey6Yherd   

  • Android instalujemy poprzez pobranie z linku 

https://appdistribution.firebase.dev/i/cf11a306c092f437

Pamiętaj, aby przed rozpoczęciem testów upewnić się, że posiadasz najnowszą wersję aplikacji


 

Pobranie tokenu

Request

curl --location 'https://sandbox-login.inpost.pl/auth/realms/external/protocol/openid-connect/token' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'client_id=sandbox' \ --data-urlencode 'client_secret=qwertyuiop' \ --data-urlencode 'grant_type=client_credentials'

 

Response

{ "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiw...", "expires_in": 300, "refresh_expires_in": 0, "token_type": "Bearer", "not-before-policy": 0, "scope": "api:inpostpay" }

 

Błędy jakie mogą wystąpić podczas generowania tokenu:

  • Invalid client credentials - W przypadku podania błędnego client_id

  • Invalid client secret - W przypadku podania błędnego client_secret

  • Missing form parameter: grant_type - W przypadku niepodania grant_type:client_credentials

 

Konto Merchanta w InPost Pay (Basket App)


  • System na poziomie konta Merchanta przechowuje konfiguracje:

    • Nazwa Merchanta

    • Logo sklepu (obraz)

    • Adres www sklepu

    • Adres email i numer telefonu do kontaktu dla użytkownika

    • Link do formularza kontaktowego Merchanta.


 

Konfiguracja konta Merchanta w InPost Pay

 

  • Adres URL
    Na poziomie konfiguracji konta Merchanta podajemy adres URL do komunikacji pomiędzy backendem a InPost.

    W przypadku korzystania z wtyczki InPost Pay dla platform sprzedażowych URL podajemy z odpowiednią frazą w zależności od platformy:

    • Woocommerce - dodajemy frazę /wp-json/inpost np. https://.../wp-json/inpost

    • Presta - dodajemy frazę ?&fc=module&module=inpostizi&controller=backend&path=inpost np. https://.../?&fc=module&module=inpostizi&controller=backend&path=inpost

    • Magento - dodajemy frazę /rest/V1/inpost np. https://.../rest/V1/inpost

  • Logo Sklepu
    Podajemy linki do logo w wersji light mode i dark mode (format png bez tła, rozmiar max: 192x408).


 

Zakres prac implementacyjnych po stronie Merchanta