Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Info

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

Info

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


Na tej stronie

Table of Contents

Ś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 

View file
namedane do credentiali.xlsx

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

Code Block
languagejson
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

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

Warning

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

  • 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).