- Created by Michał Machowski , last modified by Joanna Wołosz on Oct 17, 2023
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 25 Next »
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
iclient_secret
Client_id i client_secret dla środowiska produkcyjnego Merchant generuje poprzez panel Merchanta zgodnie z instrukcją.
Client_id i client_secret dla środowiska sandbox Merchant otrzymuje od InPost po wysłaniu zgłoszenia poprzez formularz kontaktowy zgodnie z instrukcją.
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ść (zdefiniowana w expires_in, która jest zwracana wraz z tokenem) i 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:
środowisko produkcyjne
https://login.inpost.pl/auth/realms/external/protocol/openid-connect/tokenśrodowisko sandbox
https://sandbox-login.inpost.pl/auth/realms/external/protocol/openid-connect/token
Na tej stronie
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łędnegoclient_id
Invalid client secret -
W przypadku podania błędnegoclient_secret
Missing form parameter: grant_type -
W przypadku niepodaniagrant_type:client_credentials
Konfiguracja konta Merchanta - środowisko produkcyjne
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 zamieszczonego w sekcji "Dla Biznesu" w zakładce "Oferta InPost Pay".
Po podpisaniu umowy:
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
Po zalogowaniu zobaczysz menu z poniższymi kategoriami
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)
Po uzupełnieniu wszystkich danych kliknij przycisk Zapisz zmiany
Przejdź do zakładki Konfiguracja klienta API
U góry w prawym rogu wybierz przycisk Dodaj nowy sklep
Wpisz nazwę Twojego sklepu (ta nazwa jest widoczna tylko dla Ciebie, klienci jej nie zobaczą)
Wprowadź nazwę sklepu i kliknij Zapisz
Na ekranie pojawią się dostępy do środowiska produkcyjnego – skopiuj je i pamiętaj – nie udostępniaj ich nikomu!
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
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ć.
Konfiguracja konta Merchanta - środowisko sandbox
Aby uzyskać dostęp do środowiska Sandbox uzupełnij i wyślij formularz kontaktowy korzystając z opcji Dla Biznesu i zakładki Sandbox.
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
Zakres prac implementacyjnych po stronie Merchanta
Autoryzacja – implementacja autentykacji i autoryzacji oraz konfiguracji konta.
Widget frontend - Implementacja Widgetu InPost Pay Widget - frontend.
Widget backend – wystawienie endpointów opisanych w Merchant Backend API, których celem jest obsługa funkcjonalności zgodnie z diagramami sekwencji.
Integracja z InPost Pay (Basket App) – integracja z metodami API opisanymi w InPost Pay (Basket App).
- No labels