InPost Pay - Magento (Widget 2.0)

InPost Pay - Magento (Widget 2.0)

Wstęp

Niniejsza instrukcja przedstawia proces instalacji oraz konfiguracji wtyczki, umożliwiającej wprowadzenie InPost Pay w sklepie Magento z obsługą Widget 2.0.

Wtyczka 2.2 (04.06.2025 r.)

  • Magento Community Edition

  • Commerce Edition

 

Changelog

  • Nowa wersja: 2.2 (04.06.2025)

  • 2.1.0 (12.05.2025)

    • Dodanie możliwości przekazywania kodów rabatowych do aplikacji - opis konfiguracji

    • Dodanie obsługi produktów promowanych - opis konfiguracji

    • Przekazywanie zdjęć produktów w dwóch rozmiarach (small size, normal size)

    • Dodanie walidacji przy przekazywaniu zgód do aplikacji (maksymalnie 10 zgód)

    • Dodanie do konfiguracji wtyczki możliwości animizacji danych w logach - opis konfiguracji

    • Możliwość włączenia asynchronicznego eksportu koszyka - opis konfiguracji

  • 2.0.7 (26.03.2025 r.)

  • 2.0.6 (14.03.2025 r.)

    • Dodanie oddzielnego przetwarzania zwrotów dla opcji Zwróć oraz Zwróć offline w panelu administracyjnym Magento. Pierwsza tworzy zwrot transakcji z InPost Pay a druga tworzy tylko Magento Credit Memo bez zwrotu online.

    • Poprawa błędu w przypadku gdy moduł został zainstalowany, ale nie skonfigurowany.

  • 2.0.5 (05.03.2025 r.)

  • 2.0.4 (31.01.2025 r.)

    • Ustawienia Ogólne - Przypisywanie koszyków do klienta po adresie email

  • 2.0.3 (17.01.2025 r.)

    • Integracja z Widget 2.0

    • Przekazywanie dwóch numerów zamówienia (numer techniczny i numer wyświetlany dla klienta)

    • Możliwa konfiguracja widoczności widgetu na produkcji tylko dla testerów

    • Wyświetlanie informacji o metodzie płatności zamówienia w panelu administracyjnym Magento

    • Obsługa logów po stronie modułu

    • Przekazywanie po API wersji modułu, która jest aktualnie wykorzystywana.

 

Na tej stronie:

Wymagania Systemowe

Do poprawnego działania wtyczki InPost_InPostPay wymagane jest spełnienie następujących kryteriów serwerowych:

  • Magento 2 Community Edition (Open Source) w wersji >=2.4.6

  • PHP w wersji >=8.2

  • Composer w wersji >=2.2

oraz wszelkie wymagania narzucane przez Adobe dla zainstalowanej wersji Magento:
https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html?lang=en

 

Opcjonalne funkcjonalności:


 

 

Konfiguracja dla Widget 2.0

W tej sekcji dokumentacji zawarta została instrukcja konfiguracji wraz z opisami poszczególnych komponentów wtyczki InPost Pay dedykowanej dla platformy Magento 2.


Mapowanie Metod Dostawy

W celu zapewnienia transparentności i spójności doświadczenia klienta, koszty dostawy muszą być identyczne w interfejsie sklepu internetowego oraz w aplikacji. Należy skonfigurować oba systemy w taki sposób, aby prezentowały użytkownikom te same wartości opłat za dostawę dla odpowiednich metod.

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Mapowanie Metod Dostawy

 Opis pól konfigurowalnych:

Standard Pickup Point Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej standardowej opcji wysyłki poprzez urządzenie Paczkomat 24/7 InPost w aplikacji Mobilnej InPost Pay

Pickup Point Weekend Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej weekendowej opcji wysyłki poprzez urządzenie Paczkomat 24/7 InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się jako checkbox z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową.

Pickup Point Delivery - Cash on Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej opcji wysyłki z płatnością przy odbiorze poprzez urządzenie Paczkomat 24/7 InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się jako forma płatności (nie dostawy) z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową.

Pickup Point Weekend Delivery - Cash on Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej opcji wysyłki z płatnością przy odbiorze w weekend poprzez urządzenie Paczkomat 24/7 InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się zarówno jako checkbox oraz forma płatności (nie dostawy) z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową. Aby zamówić towar w tej formie klient musi wybrać Standardowy Paczkomat 24/7, zaznaczyć opcję Paczki w Weekend oraz wybrać płatność przy odbiorze.
Bardzo ważne jest to, aby konfigurując to mapowanie cena metody dostawy przypisanej tej opcji była adekwatna do kosztów Paczki w Weekend i opcji Płatności przy odbiorze.

Przykładowo:
Standard - 10zł
Paczka w Weekend - 12zł (w aplikacji opcja +2zł do standardowej wysyłki)
Płatność przy odbiorze - 14zł (w aplikacji opcja +4zł do standardowej wysyłki)
Płatność przy odbiorze w weekend - 16zł (w aplikacji połączenie opcji +2zł i +4zł)

Skonfigurowanie tej opcji dostawy z cenami bez zgodności spowoduje odrzucenie zamówienia klienta złożonego poprzez aplikację mobilną ze względu na błędną kwotę całościową.

Standard Courier Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej Kurierowi InPost w aplikacji Mobilnej InPost Pay.

Weekend Courier Delivery

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej weekendowej opcji wysyłki poprzez Kuriera InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się jako checkbox z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową.

Cash on Delivery Courier

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej opcji wysyłki z płatnością przy odbiorze poprzez Kuriera InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się jako forma płatności (nie dostawy) z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową.

Cash on Delivery Courier

Konfiguracja pozwalająca na przypisanie metody dostawy odpowiadającej opcji wysyłki z płatnością przy odbiorze w weekend poprzez Kuriera InPost w aplikacji Mobilnej InPost Pay.

Uwaga: W aplikacji Mobilnej zmapowana metoda dostawy pokazuje się zarówno jako checkbox oraz forma płatności (nie dostawy) z dodatkową opłatą będącą wyliczoną różnicą pomiędzy tą przypisaną metodą dostawy, a opcją standardową. Aby zamówić towar w tej formie klient musi wybrać Standardowego Kuriera InPost, zaznaczyć opcję Paczki w Weekend oraz wybrać płatność przy odbiorze.
Bardzo ważne jest to, aby konfigurując to mapowanie cena metody dostawy przypisanej tej opcji była adekwatna do kosztów Paczki w Weekend i opcji Płatności przy odbiorze.

Przykładowo:
Standard - 10zł
Paczka w Weekend - 12zł (w aplikacji opcja +2zł do standardowej wysyłki)
Płatność przy odbiorze - 14zł (w aplikacji opcja +4zł do standardowej wysyłki)
Płatność przy odbiorze w weekend - 16zł (w aplikacji połączenie opcji +2zł i +4zł)

Skonfigurowanie tej opcji dostawy z cenami bez zgodności spowoduje odrzucenie zamówienia klienta złożonego poprzez aplikację mobilną ze względu na błędną kwotę całościową.

Delivery Deadline In Days

Wymagana wartość liczbowa potrzebna do wyliczenia maksymalnej daty dostawy.

 

Widok konfiguracji:

image-20250117-144730.png

 


Ogólne Ustawienia

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Ogólne

 

Opis pól konfigurowalnych:

Włącz InPost Pay

Umożliwia włączenie lub wyłączenie tej formy płatności.

Włącz Tryb Testowy

Tryb testowy służy przede wszystkim do testowania produkcji tuż przed globalnym uruchomieniem z prawdziwym zamówieniem oraz płatnością. Włączenie trybu testowego działa tylko przy wyłączonym trybie sandbox.

Po włączeniu tej opcji (gdy tryb sandbox jest wyłączony) widget InPost Pay będzie widoczny tylko na stronach gdzie adres URL zawiera parametr: ?showInPostPay=true

Umożliwia to testowe przeprowadzenie całego zakupu na środowisku produkcyjnym łącznie z opłaceniem zamówienia wykorzystując produkcyjną aplikację InPost Pay na mobilne urządzenia, w taki sposób, aby klienci nie widzieli jeszcze tej funkcjonalności. Po weryfikacji środowiska należy wyłączyć tryb testowy równocześnie.

Tytuł

Nazwa wyświetlana dla tej formy płatności.

Status Nowego Zamówienia

Status jaki jest ustawiany gdy zamówienie zostanie utworzone z wykorzystaniem tej formy płatności.

Akceptacja Płatności z Krajów

Czy płatności mają być akceptowane ze wszystkich krajów, czy z wybranych.

Akceptacja Płatności z Wymienionych Krajów

Lista krajów używana jeśli w polu Akceptacja Płatności z Krajów zaznaczono akceptacje płatności z wybranych krajów.

Minimalna Wartość Zamówienia

Minimalna kwota zamówienia dla tej formy płatności

Maksymalna Wartość Zamówienia

Maksymalna kwota zamówienia dla tej formy płatności.

Użyj imienia i nazwiska z adresu zamiast imienia i nazwiska klienta

Umożliwia przesyłanie imienia i nazwiska z adresu zamiast imienia i nazwiska klienta do InPost Pay

Rola obrazu wysyłana do InPost Pay

Lista rozwijana do wyboru który obraz powinien być przesyłany do InPost Pay

Przypisz Koszyk do Klient po Adresie Email

Domyślna wartość TAK.

Jeśli ta konfiguracja jest włączona, koszyki w Sklepie założone przez użytkowników niezalogowanych, powiązane z InPost Pay, w trakcie procesowania zamówienia zostaną przypisane do konta klienta w Magento, o ile takie istnieje, na podstawie adresu mailowego konta w Aplikacji InPost Pay.

Jeśli ta konfiguracja jest wyłączona, koszyki w Sklepie założone przez użytkowników niezalogowanych, powiązane z InPost Pay, pozostaną zamówieniami gości nawet jeśli w Sklepie będzie istnieć konto o adresie email takim samym jakie zostało użyte przez klienta w Aplikacji InPost Pay.

Powyższa konfiguracja nie ma wpływu na koszyki założone przez zalogowanych klientów Sklepu. Zamówienia z nich złożone bez względu na to ustawienie będą przypisane do konta użytkownika zalogowanego w Sklepie.

Widok konfiguracji:

image-20250203-094156.png

 


Sandbox

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Sandbox

 

Opis pól konfigurowalnych:

Przełącz InPost Pay w Tryb Sandbox

Konfiguracja umożliwiająca włączenie trybu testowego Sandbox.

Sandbox Client ID

Identyfikator klienta otrzymany z od InPost używany do autoryzacji w trybie Sandbox.

Sandbox Client Secret

Wartość Client Secret otrzymana od InPost używana do autoryzacji w trybie Sandbox.

Sandbox Auth Token URL

Bazowy adres URL InPost, pod którym dokonywana będzie autoryzacja w trybie Sandbox w celu pobrania tokena używanego w dalszej komunikacji z API.

Sandbox Merchant Secret

Wartość Merchant Secret otrzymana od InPost, potrzebna do tworzenia zwrotów w trybie Sandbox.

Sandbox POS ID

Identyfikator nadany przez InPost do trybu Sandbox

Sandbox IZI API URL

Bazowy adres URL InPost, pod którym realizowana będzie integracja koszyka i zamówień w trybie Sandbox.

Sandbox Client Merchant ID

ID Merchanta nadany przez InPost do trybu Sandbox.

 

Widok konfiguracji:

image-20250117-145112.png

 


Ustawienia Autoryzacji

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Autoryzacji

 

Opis pól konfigurowalnych:

Client ID

Identyfikator klienta otrzymany z od InPost używany do autoryzacji.

Client Secret

Wartość Client Secret otrzymana od InPost używana do autoryzacji.

Auth Token URL

Bazowy adres URL InPost, pod którym dokonywana będzie autoryzacja w celu pobrania tokena używanego w dalszej komunikacji z API.

Merchant Secret

Wartość Merchant Secret otrzymana od InPost, potrzebna do tworzenia zwrotów.

POS ID

Identyfikator nadany przez InPost

Client Merchant ID

Identyfikator Klienta nadany przez InPost

 

Widok konfiguracji:

image-20250117-145311.png

Ustawienia Debuggowania

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Debuggowania

 

Opis pól konfigurowalnych:

Log Level

Poziom, od którego informacje zbierane przez wtyczkę będą logowane w plikach od najbardziej szczegółowych informacji: DEBUG do najbardziej krytycznych: EMERGENCY

Włącz Anonimizację Logów

Flaga włączająca anonimizacje danych jakie są odkładane do logów na serwerze Merchanta.

Domyślnie włączona.

Dane w logach jakie podlegają anonimizacji:
client_secret
merchant_secret
imiona/nazwiska
adresy mailowe (fragmenty przed @ i domeną)
NIPy i Nazwy Firm
Adresy (ulice, miasta, kody pocztowe, numery budynków)
numery telefonów

Forma danych w logach:

p**********l@example.com 5*******4 (telefon) P***r (imię) K****l (nazwisko)

 

Widok konfiguracji:

image-20250117-145717.png

Ustawienia IZI API

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia IZI API

 

Opis pól konfigurowalnych:

IZI API URL

Adres URL InPost, pod którym dostępne są zasoby API związane z koszykiem i zamówieniami z aplikacji mobilnej InPost Pay.

Czas życia koszyka

Ilość sekund na podstawie, której obliczana jest data ważności koszyka. Porzucone, nieaktualizowane koszyki będą usuwane przez aplikację InPost Pay po tej dacie.

Zsynchronizuj dostępne metody płatności

Przycisk pozwalający zsynchronizować metody płatności z api InPost Pay

Akceptowane Metody Płatności w aplikacji InPost

Lista wielokrotnego wyboru pozwalająca ustalić jakie metody płatności pojawią się w aplikacji Mobilnej dla koszyka. Synchronizacja dostępnych metod płatności odbywa się raz dziennie za pomocą crona.

Uwaga: ta konfiguracja musi odpowiadać mapowaniu metod dostaw płatnych przy odbiorze. Jeśli tu forma płatności przy odbiorze jest skonfigurowana to powinna być też tam zmapowana.

Włącz asynchroniczny eksport koszyka

W przypadku bardzo dużej ilości ruchu, koszyków i problemów z obciążaniem serwera można skonfigurować oddelegowanie żądań aktualizujących koszyki na kolejkę.

Uwaga: wykorzystano tu natywną funkcjonalność kolejek Magento opartych o bazę danych, nie Rabbit MQ. Aby funkcjonalność działała poprawnie należy po stronie administracji serwerowej skonfigurować odpalanie procesu konsumowania wiadomości z kolejek.

Włącz usuwanie znaków specjalnych i kodu HTML z atrybutów produktowych wysyłanych do Aplikacji Mobilnej InPost Pay

API InPost Pay i aplikacja aktualnie nie obsługuje takich znaków. Konfiguracja powinna być ustawiona na TAK jeśli w danych produktów występują takie znaki

 

Widok konfiguracji:

image-20250117-145849.png

Mapowanie zgód

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Terms and Conditions Mapping Settings

 

Opis pól konfigurowalnych:

Zgody Magento

Select z wyborem zgody.

Wymagalność

Select z wyborem poziomu wymagalności danej zgody, dostępne opcje to: REQUIRED_ALWAYS, REQUIRED_ONCE, OPTIONAL

ADDITIONAL_LINK - specjalna opcja dedykowana kilku zgodą przekazywanym w postaci jednej pozycji do zaznaczenia, posiadającej w treści kilka linków.

Nadrzędna zgoda

W przypadku Wymagalności ADITIONAL_LINK jest to wskazanie do której zgody nadrzędnej przynależy ten link.

Link do zgody

link do pełnej treści zgody.

Tekst linku

W przypadku połączonych zgód przez ADDITIONL_LINK jest to słowo lub fraza która zastąpi “link” do zgody.

 

Widok konfiguracji:

image-20250117-150208.png

Przykłady konfiguracji:

a) Podstawowa konfiguracja:

image-20250117-150246.png

Wygląd w aplikacji:

image-20250117-150330.png

Objaśnienie:
W tym przypadku podstawowym nie ma dodatkowych linków podpinanych pod główną zgodę. Występują po prostu dwie osobne zgody, z których jest jest wymagana, druga opcjonalna. Link prowadzący do zgód umieszczany jest na końcu w nawiasie jako “(link)”.

b) Konfiguracja z zagnieżdżeniem zgód

image-20250117-150414.png

Wygląd w aplikacji:

image-20250117-150452.png

Objaśnienie:
W tym przypadku mamy do czynienia ze zgodą zawierającą w treści przekazane dodatkowe linki do różnych regulaminów. Aby osiągnąć taki rezultat należy nie tylko odpowiedni skonfigurować samo mapowanie zgód we wtyczce InPost Pay ale również zgody muszą mieć odpowiedni tytuł w natywnej konfiguracji Magento: Store->Terms and Conditions:

image-20250117-150528.png

Na powyższym fragmencie zrzutu ekranu widać zgodę główną o tytule:
”Potwierdzam, że zapoznałam(em) się z treścią #1 i #6 oraz akceptuję ich postanowienia.”

W której #1 oraz #6 odpowiadają identyfikatorom zgód. W tym przypadku #1 odnosi się do samej siebie, a #6 do zgody “Polityka Prywatności”.

W konfiguracji wtyczki i mapowania zgód widoczne jest ustawienie zgody “Polityka Prywatności” jako ADDITIONAL_LINK

image-20250117-150610.png

oraz ustawienie jej nadrzędnej zgody

image-20250117-150701.png

oraz finalnie dodanie tekstu jaki podmieni “(link)“ dając możliwość właściwej odmiany, w tym przypadku “Polityki Prywatności” oraz “Regulaminu”.

image-20250117-150819.png

Powyższa konfiguracja sprawi, że w Aplikacji InPost Pay nie będzie widać osobno zgody ADDITIONAL_LINK, a zostanie ona podłączona pod #6 jako link w treści zgody nadrzędnej, a jako że zgoda nadrzędna posiada również swój własny identyfikator #1 oraz tekst linku “Regulaminu” finalny efekt prezentowany w aplikacji będzie następujący:
”Potwierdzam, że zapoznałam(em) się z treścią Regulaminu i Polityki Prywatności oraz akceptuję ich postanowienia.”

Gdzie pod tekstem “Regulaminu” oraz “Polityki Prywatności” ukryty jest link do pełnej treści zgody.


Ustawienia wyświetlania

Pamiętaj!
Ustawienia wyświetlania oraz układ przycisków należy skonfigurować zgodnie ze Standardami Implementacji InPost Pay.

Ścieżka konfiguracji:
Store → Configuration → Sales → Payment Methods → InPost Pay → Ustawienia wyświetlania

 

Opis pól konfigurowalnych:

Pokaż na karcie produktu

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) na karcie produktu

Pokaż na koszyku

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) na stronie koszyka

Pokaż w minikoszyku

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) w minikoszyku

Pokaż na stronie z podziękowaniami

Konfiguracja pozwalająca na inicjalizację i pokazanie bloku InPost Pay Thank You Page (<inpost-thank-you/>) na stronie z podziękowaniami za złożone zamówienie

Adres URL strony z podziękowaniami

Konfiguracja pozwalająca na wskazanie adresu URL strony z podziękowaniami na potrzeby przekierowania karty przeglądarki po złożeniu zamówienia z Aplikacji Mobilnej

Pokaż na stronie z logowania

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) na stronie logowania

Pokaż na stronie z rejestracji

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) na stronie rejestracji

Pokaż na checkout

Konfiguracja pozwalająca na inicjalizację i pokazanie widgetu InPost Pay (<inpost-izi-button ...></inpost-izi-button>) na checkout (pod formularzem danych osobowych)

 

Widok konfiguracji:

image-20250218-144404.png

Ustawienia układu przycisków

Ścieżka konfiguracji:
Store → Configuration → Sales → Payment Methods → InPost Pay → Ustawienia układu przycisków

 

Opis pól konfigurowalnych:

Rozmiar Widgetu

Konfiguracja pozwalająca na wybranie opcji rozmiaru widgetu i buttona InPost Pay od XS do XL

Style obramowania Widgetu

Pole umożliwia zaznaczenie jednego lub więcej styli z pośród poniżej opisanych:

  • round- maksymalne zaokrąglenie

image-20250117-160322.png
  • rounded - lekkie zaokrąglenie

image-20250117-160349.png
  • dark/primary - tryb ciemny lub żółty

image-20250117-160422.png

Powyżej opisane style można łączyć ze sobą aby uzyskać na przykład tryb zaokrąglony żółty:
round + primary

image-20250117-160452.png

 

 

Widok konfiguracji:

image-20250117-160557.png

Ustawienia Cache

Moduł InPost_InPostPay wykorzystuje natywny mechanizm Cache, aby zoptymalizować proces integracji. W pamięci podręcznej przechowywane są klucze publiczne pobierane w celu weryfikacji sygnatury przy autoryzacji żądań przychodzących od InPost do API Merchanta oraz konfiguracja zgód.

Rekomendowane jest włączenie obsługi tych ustawień pamięci podręcznej. Aby tego dokonać należy w Panelu Administracyjnym rozwinąć panel boczny i pozycję System, a następnie przejść do Zarządzania Pamięcią.

System->Cache Management

image-20250117-160847.png

Kolejnym krokiem jest zaznaczenie poniższych opcji:

image-20250117-160922.png

i wybranie z listy rozwijanej opcji włączenia zaznaczonych pozycji:

image-20250117-161010.png

 


Instalacja modułu - dodatkowe informacje

W tej części dokumentacji znajduję się dodatkowa informacja dla klientów, którzy będą chcieli włączyć przycisk InpostPay w checkout oraz posiadają zmodyfikowany checkout.

Komponent z przyciskiem InpostPay został na checkout dodany jako kolejny krok (poza dostawą i płatnością). Został on dodany przed powyższymi krokami.

<item name="inpost-pay" xsi:type="array"> ... <item name="sortOrder" xsi:type="string">0</item> ... </item>

Taka zmiana wymagała przekonfigurowania zależności w komponencie paska postępu:

<item name="progressBar" xsi:type="array"> <item name="config" xsi:type="array"> <item name="deps" xsi:type="array"> <item name="0" xsi:type="string">checkout.steps.inpost-pay</item> <item name="1" xsi:type="string">checkout.steps.shipping-step.shippingAddress</item> <item name="2" xsi:type="string">checkout.steps.billing-step.payment</item> </item> </item> </item>

Jeśli klient posiada modyfikacje checkout (dodatkowy krok w checkout np. logowanie/rejestracja, zmodyfikowane zależności w pasku postępu) w tym zakresie należy dostosować checkout i uwzględnić powyższe zmiany.

 


Ustawienia odpytywania Long Polling

Ścieżka konfiguracji:
Store → Configuration → Sales → Payment Methods → InPost Pay → Polling Settings

Opis pól konfigurowalnych:

Włącz odpytywanie long polling dla nieaktywnej karty przeglądarki

Konfiguracja pozwalająca na włączenie/wyłączenie odpytywania serwera o status łączenia koszyków lub status zamówienia dla nieaktywnej karty przeglądarki (domyślnie włączone)

Czas odpytywania dla nieaktywnej karty (w milisekundach)

Konfiguracja pozwalająca na zmianę okresu odpytywania serwera o status zamówienia/status łączenia koszyków dla nieaktywnej karty w przeglądarce. Czas podawany jest w milisekundach (domyślnie ustawione 10000)

 

Widok konfiguracji:

image-20250117-161248.png

 


Ustawienia Restrykcji

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Restrykcji

 

Opis pól konfigurowalnych:

Uruchom Odświeżanie Restrykcji w CRON

Jeśli to ustawienie jest włączone restrykcje produktowe będą automatycznie odświeżane przez CRON zgodnie z harmonogramem.

Harmonogram Odświeżania Restrykcji w CRON

Harmonogram w postaci odpowiedniej dla usługi systemowej CRON.

30 1,7,13,19 * * * dla przykładu sprawi, że CRON uruchomi proces codziennie o 1:30, 7:30, 13:30 oraz 19:30

 

Widok konfiguracji:

image-20250117-161652.png

 


Ustawienia Omnibus

Ścieżka konfiguracji:
Store → Configuration → Sales → Payment Methods → InPost Pay → Omnibus Promo Settings

Opis pól konfigurowalnych:

Lowest Price Product Attribute

Konfiguracja pozwalająca na ustalenie z jakiego atrybutu produktowego wtyczka InPost Pay może wydobyć kwotę najniższej ceny z ostatnich 30 dni.

Omnibus Cart Price Rules

Konfiguracja pozwala na wskazanie które reguły koszykowe powiązane są z dyrektywą Omnibus i wymagają pokazania ceny najniższej z ostatnich 30 dni.

 

Widok konfiguracji:

image-20250117-161539.png

Objaśnienie działania konfiguracji:

Domyślnie najniższe ceny z ostatnich 30 dni nie są wysyłane przez wtyczkę InPost Pay do API Aplikacji Mobilnej klientów, nawet jeśli produkty w koszykach klientów mają ustawioną wartość w tym atrybucie. Aby ceny były przekazywane, produkt w koszyku Magento klienta musi mieć zaaplikowaną regułę koszykową będącą oznaczoną w konfiguracji wtyczki InPost Pay jako “Omnibusowa” w postaci wyżej opisanej listy wielokrotnego wyboru. Sama w sobie reguła nie musi dawać rabatu ani obniżać ceny. Wystarczy, że będzie skonfigurowana tak, aby była włączona, a kryteria zarówno koszyka jak i jego zawartości były spełnione przez koszyk klienta, który ma w Aplikacji Mobilnej mieć widoczną cenę najniższą z ostatnich 30 dni.


Dostępne promocje w aplikacji

Ścieżka konfiguracji:
Store->Configuration->Sales->Payment Methods->InPost Pay->Available In-app Promotions

 

Opis pól konfigurowalnych:

Włącz promocje w aplikacji

Konfiguracja umożliwiająca włączenie wysyłania informacji o promocjach do aplikacji InpostPay.

Reguła koszykowa Magento z kodem

Lista rozwija z wyborem poziomu reguły koszykowej. W liście rozwijanej dostępne są tylko te reguły koszykowe które posiadają jeden kod kuponu

Url opisu promocji

Link do opisu danej promocji.

Widok konfiguracji:

image-20250117-161800.png

Wygląd w aplikacji:

image-20250117-161857.png

Dodatkowe informacje:

Do aplikacji przesyłane są tylko reguły koszykowe które:

  • są aktywne

  • posiadają jeden kod rabatowy

  • są ważne, tzn aktualna data mieście się w przedziale “od” “do”

  • wartość Uses per Coupon jest 0 lub aktualna wartość Uses per Coupon jest większa niż ilość użyć danego kuponu

  • dodatkowym ograniczeniem jest grupa klientów, aby dany kupon został wysłany do aplikacji właściciel danego koszyka musi być przypisany do grupy klientów dla której dana reguła koszykowa jest przypisana

  • konfiguracja przesyłania promocji w aplikacji jest włączona(Włącz promocje w aplikacji)

  • dana reguła jest skonfigurowana w konfiguracji Dostępne promocje w aplikacji

Przykładowa konfiguracja reguły koszykowej, która zostanie wysłana do aplikacji dla klientów niezalogowanych

image-20250117-162019.png

 

image-20250117-162106.png

Jak widać na powyższych screenach reguła koszykowa jest włączona, posiada jeden konkretny kod kuponu, jest przypisana do grupy klientów niezalogowanych, wartość uses per coupon jest wyższa niż aktualna ilość liczby użyć, aktualna data(13.11.2024) mieści się w przedziale 6.11.2024 - 15.11.2025. Dana reguła koszykowa jest skonfigurowana w konfiguracji Dostępne promocje w aplikacji.

 


Udostępnienie logów InPost Pay

W przypadkach wymagających debuggowania problemów z działaniem wtyczki InPost Pay w Sklepach Merchantów, w celu ułatwienia znalezienia rozwiązania oraz aby nie angażować Merchanta w wyciąganie i przekazywaniem nam każdorazowo plików zawierających logi z integracji Magento z InPost Pay API - przygotowane zostało rozwiązanie udostępniające logi wtyczki InPost Pay przez nowy endpoint REST API działający w oparciu o natywne Webapi platformy Magento 2.

Aby udostępnić logi wtyczki dla Działu Wsparcia InPost Pay należy:

  1. Upewnić się, że włączony został dostęp do Zasobów Magento przez Integrację opartą o Bearer Token. Konfiguracja ta znajduje się pod ścieżką:

    Store->Config->Services->OAuth->Consumer Settings->Allow OAuth Access Tokens to be used as standalone Bearer tokens->YES

    image-20250117-162250.png
  2. Utworzyć nowy Token Integracji z dostępem do określonych zasobów:
    System->Integration->Add New Integration

    Następnie w formularzu z Ogólnymi informacjami należy uzupełnić podstawowe, wymagane pola z nazwą integracji oraz potwierdzić formularz hasłem Administratora wprowadzającego te zmiany.

    W zakładce API należy wskazać zasoby do jakich będą miały dostęp żądania autoryzujące się tym nowym Tokenem. W przypadku wsparcia wtyczki InPost Pay będzie to zasób: InPost Pay Logs

    image-20250117-162348.png

Nową integrację należy zapisać.

  1. Ostatnim krokiem jest aktywacja nowej integracji z poprzez kliknięcie “Activate” w zakładce z listą integracji. Pojawi się przypomnienie do jakich zasobów aktywowana właśnie integracja będzie miała dostęp. Po potwierdzeniu pojawią się 4x klucze, z których trzeci “Token Dostępu” (lub “Access Token”) należy przekazać do Działu Wsparcia wtyczki InPost Pay.

    image-20250117-162451.png

Uwaga, jeśli okienko z powyższymi kluczami zostało zamknięte, można je wyświetlić ponownie klikając Edytuj (ikona ołówka) z poziomu zakładki z listą integracji. Można też kliknąć w opcję “Reauthorize” aby wygenerować nowe klucze dostępu, a następnie przekazać je do Działu Wsparcia InPost Pay.

 Uzyskiwanie dostępu do logów i zakres informacji w ten sposób udostępnianych:

curl --location --request GET 'https://domena-sklepu-merchanta.pl/rest/V1/izi/inpostpaylogs/2024-11-27' \ --header 'Authorization: Bearer 7s1sfjmletrk1a9gveaa2qb6qzdbkei8'

Powyższa komenda wykorzystująca Token autoryzacyjny uzyskany w opisany na wstępie sposób zwróci w formacie JSON następujące dane:

{"log_level":"DEBUG","content":"WzIwMjQtMTEtMjdUMDA6MzA6MDEuNTE4MTI3K(...)}

Gdzie log_level jest poziomem logowania skonfigurowanym w:
Store->Config->Sales->Payment Methods->InPost Pay->Debugging Settings->Log Level
Jest to informacja jak dokładnych logów można oczekiwać.

content zawiera zakodowaną algorytmem Base64 całą treść pliku logów znajdującą się w ścieżce:
{root Magento2}/var/log/inpost-pay/{YYYY-MM-DD}.log
Gdzie dla każdego dnia tworzone są osobno pliki z logami, a parametr daty przekazywany jest w powyżej podanym przykładzie jako 2024-11-27.

 Uwaga!
Po zakończonym procesie wyjaśniania ewentualnych problemów i finalnym uruchomieniu produkcyjnym integracji z InPost Pay rekomendowane jest usunięcie z listy integracji tej utworzonej na czas debuggowania przez Dział Wsparcia InPost Pay, aby uniemożliwić dalszy dostęp do logów oraz ustawienie wyższego poziomu logowania (na przykład z DEBUG na ERROR).


Ustawienia Analityki

Ścieżka konfiguracji:

Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Analityki

Opis pól konfigurowalnych:

Włącz Analitykę

Włączenie tej konfiguracji spowoduje przesyłanie do Google Analytics zdarzeń zakupowych z Aplikacji Mobilnej InPost Pay.

Funkcjonalność do działania oprócz konfiguracji poniższych pól: Google Analytics Measurement ID oraz Google Analytics API Secret wymaga również zaimplementowania we własnym zakresie Merchanta/Sklepu kodu JS który zacznie przechowywać w Local Storage przeglądarek klientów parametry wiążące zakup z wejściem na stronę:

client_id ← wymagany parametr aby wysyłanie danych zdarzenia mogło działać.
fbclid ← opcjonalny parametr, wysyłany jeśli skonfigurowano opcję Włącz Przekazywanie Parametru fbclid oraz został zapisany w Local Storage
gclid ← opcjonalny parametr, wysyłany jeśli skonfigurowano opcję Włącz Przekazywanie Parametru gclid oraz został zapisany w Local Storage

Uwaga! Widget przekazuje parametr z przeglądarki pobierając go poprzez:

window.localStorage.getItem('client_id');
window.localStorage.getItem('fbclid');
window.localStorage.getItem('gclid');

Powinny być zatem zapisane do Local Storage przeglądarki na przykład poprzez:

window.localStorage.setItem('fbclid', "XXXX");
window.localStorage.setItem('gclid', "YYYY");
window.localStorage.setItem('client_id', "ZZZZ");

Włącz Asynchroniczne Wysyłanie danych Analitycznych przez CRON

Opcja domyślnie wyłączona. Po włączeniu dane analityczne przestaną być wysyłane natychmiast razem z procesem zakupu, a zamiast tego będą wysyłane przez proces CRON (domyślnie co 5 minut).

Tę opcję warto włączyć w sytuacji sporej ilości zamówień lub aby przyspieszyć proces składania zamówień i odseparować go od analityki. Warto mieć jednak na uwadze, że dane do Google Analytics wpadną z opóźnieniem wynikającym z Harmonogramu CRON wysyłającego te dane.

Harmonogram CRON Wysyłki Danych Analitycznych

Harmonogram CRON pozwalający ustawić częstotliwość wysyłki danych analitycznych.

Domyślnie: raz na 5 minut

Google Analytics Measurement ID

Parametr pobierany z Google Analytics

Google Analytics API Secret

Parametr pobierany z Google Analytics

Google Analytics API URL

Adres URL na jaki wysyłane będą dane Analityczne. Domyślnie jest to produkcyjny adres Google Analytics.

Włącz Przekazywanie Parametru fbclid

Po włączeniu tej opcji, jeśli z frontu sklepu zostanie dostarczony parametr fbclid - zostanie również wysłany razem z danymi analitycznymi.

Włącz Przekazywanie Parametru gclid

Po włączeniu tej opcji, jeśli z frontu sklepu zostanie dostarczony parametr gclid - zostanie również wysłany razem z danymi analitycznymi.

Widok konfiguracji:

image-20250529-124234.png

 

Przykładowe dane aktualnie przekazywane do Google Analytics:

{ "method": "POST", "url": "https://www.google-analytics.com/mp/collect?api_secret=YYYYYYYYYYYYYYYYYY&measurement_id=G-XXXXXXXXXX", "headers": { "Content-Type": "application/json" }, "params": { "client_id": "1234567890.1234567890", "events": [ { "name": "purchase", "params": { "transaction_id": "000000530", "affiliation": "InPost Pay", "value": 58.3, "currency": "PLN", "tax": 10.9, "shipping": 17, "engagement_time_msec": 100, "items": [ { "item_id": "24-MB02", "item_name": "Fusion Backpack", "price": 41.3, "quantity": 1 } ] } } ] } }

Ustawienia Produktów Bestsellerowych

Ścieżka konfiguracji:

Store->Configuration->Sales->Payment Methods->InPost Pay->Ustawienia Produktów Bestsellerowych InPost Pay

Opis pól konfigurowalnych:

Włącz Synchronizacje Bestsellerów

Uwaga! Konfiguracja widoczna jedynie na widoku Website (nie ma jej na domyślnym widoku)

Jeśli ta konfiguracja jest włączona na poziomie website (domyśnie wyłączona) to produkty bestsellerowe na tym website będą synchronizowane z InPost Pay. Jeśli nie - produkty przypisane do tego website nie będą synchronizowane.

Ważne! Jeśli dane autoryzacyjne do InPost Pay skonfigurowane są na poziomie domyślnym (scope default) to tylko na jednym website powinno być skonfigurowane to ustawienie na TAK, jeśli na większej liczbie website'ów to ustawienie będzie włączone, produkty nie trafią poprawnie do API InPost Pay. Jeśli w Magento jest więcej website'ów i produkty bestsellerowe z różnych website'ów mają trafiać do InPost Pay - należy najpierw uzyskać osobne dane autoryzacyjne dla każdego website, a następnie na poziomach tych website ustawić zarówno uzyskane dane autoryzacyjne jak i tą flagę na TAK.

Włącz Synchronizacje Bestsellerów w CRON

Jeśli to ustawienie jest włączone skonfigurowane produkty bestsellerowe będą automatycznie synchronizowane pomiędzy Magento a InPost Pay API przez CRON zgodnie z harmonogramem.

Harmonogram CRON Synchronizacji Bestsellerów

Harmonogram w postaci odpowiedniej dla usługi systemowej CRON.

30 1,7,13,19 * * * dla przykładu sprawi, że CRON uruchomi proces codziennie o 1:30, 7:30, 13:30 oraz 19:30

 

Widok konfiguracji:

image-20250604-124813.png

 

 

 

Instrukcja użytkowania

W sekcji dokumentacji: https://dokumentacja-inpost.atlassian.net/wiki/spaces/PL/pages/130023427 zawarte zostały informacje dotyczące składania zakupu w sklepie internetowym za pośrednictwem wtyczki InPost Pay i aplikacji Mobilnej.

Konfiguracja produktów Bestsellerowych

Funkcjonalność ta jest kierowana do największych partnerów InPost Pay na zasadzie invitation only.
W przypadku zainteresowania prosimy o kontakt Pay Sales: Inpost_pay_sales@inpost.pl.
Zespół InPost odpowiada za zarządzanie bieżącą ofertą, szczegóły tego procesu zostaną udostępnione współpracującym partnerom.

Opis funkcjonalności

Wtyczka InPost_InPostPay umożliwia skonfigurowanie do 5x produktów na każdy Website jako najchętniej kupowane lub promowane pozycje. Produkty te będą widoczne w Aplikacjach mobilnych InPost Pay w zakładce Zakupy->Odkrywaj/Sklepy->Najczęściej kupowane:

image-20250512-123945.png

Z pełną listą dostępną pod linkiem “Zobacz wszystkie”:

image-20250512-124038.png

Z powyżej wskazanych miejsc klienci będą mogli bezpośrednio w aplikacji mobilnej dodać je do koszyka, co spowoduje zainicjowanie koszyka również w Magento, a następnie jeśli klient zdecyduje się na złożenie zamówienia w InPost Pay, zamówienie złożone zostanie także w Magento bez obowiązku odwiedzenia strony sklepu przez klienta.

Zarządzanie Bestsellerami - Lista Produktów

Do zarządzania Produktami Bestsellerowymi w Panelu Administracyjnym Magento została utworzona nowa sekcja w Menu boczny, pod główną zakładką Katalogu.

image-20250512-124332.png

Po wejściu w powyższą opcję “Produkty Bestsellerowe InPost Pay” wyświetlona zostanie lista utworzonych i zapisanych produktów bestsellerowych.

image-20250512-124457.png

Lista domyślnie jest pusta. 

Zarządzanie Bestsellerami - Tworzenie nowej pozycji

W celu skonfigurowania nowego produktu Bestsellerowego należy kliknąć w przycisk znajdujący sie w prawym górnym rogu:

image-20250512-124555.png

Wyświetlony zostanie prosty i krótki formularz, który należy uzupełnić:

image-20250512-124643.png

Opis pól formularza dodawania nowego produktu bestsellerowego:

SKU

SKU produktu, którego dane mają zostać wysłane do InPost Pay jako bestseller.

Website

Website Sklepu, którego tworzony produkt bestsellerowy będzie dotyczył.

Uwaga!
Jeśli w ramach Magento skonfigurowanych zostało więcej niż jeden Website, to w konfiguracji Autoryzacji wtyczki InPost Pay powinny znajdować się osobne dane dostępowe do API InPost Pay dla każdego ze skonfigurowanych Website’ow. Na podstawie wyboru pola Website tego formularza, do wysłania tego produktu zostanie użyta konfiguracja Autoryzacji wskazanego Website.

Dostępny Od

Data od jakiej produkt bestsellerowy będzie prezentowany w aplikacji mobilnej InPost Pay.

Dostępny Do

Data do jakiej produkt bestsellerowy będzie prezentowany w aplikacji mobilnej InPost Pay.

Data Sychronizacji [Tylko Odczyt]

Pole zablokowane, tylko do odczytu.

Po poprawnej synchronizacji produktów z Magento do InPost Pay, uzupełnione zostanie automatycznie datą synchronizacji. Jest to jedynie informacja jak bardzo akutalne dane produktu można oczekiwać w aplikacjach mobilnych klientów InPost Pay.

Deep Link [Tylko Odczyt]

Pole zablokowane, tylko do odczytu.

Jest to adres deep link produktu bestsellerowego wygenerowany przez API InPost Pay. Aktualnie to pole pełni jedynie funkcję informacyjną i nie jest wykorzystywane.

Kod QR [Tylko Odczyt]

Pole zablokowane, tylko do odczytu.

Jest to zakodowany tekstowo kod QR produktu bestsellerowego wygenerowany przez API InPost Pay. Aktualnie to pole pełni jedynie funkcję informacyjną i nie jest wykorzystywane.

Błąd Synchronizacji [Tylko Odczyt]

Pole zablokowane, tylko do odczytu.

Jest to pole z ostatnim błędem, który uniemożliwił synchronizację produktu bestsellerowego. Pole jest czyszczone przy udanej próbie.

Po uzupełnieniu formularza należy go zapisać. Zapis może powodować błędy w danych uzupełnionych, należy wtedy zastosować się do ich treści aby poprawnie utworzyć produkt bestsellerowy. 

Możliwe komunikaty

Poprawny zapis.

image-20250512-124935.png

Błąd zapisu spowodowany błędny, nieistniejącym SKU.

image-20250512-125025.png

Zarządzanie Bestsellerami - Synchronizacja z InPost Pay

Produkty nowo zapisane w Panelu Administracyjnym Magento nie są natychmiastowo synchronizowane z InPost Pay. Synchronizacja odbywa się na 2x sposoby oraz w 2x trybach:

Sposoby:

  • manualnie klikając odpowiednie przyciski w Panelu Administracyjnym na Liście skonfigurowanych produktów Bestsellerowych

  • cyklicznie (CRON) po włączeniu tej opcji (domyślnie wyłączona) w zakładce:
    Sklep->Konfiguracja->Sprzedaż->Metody Płatności->InPost Pay->Ustawienia Bestsellerów-> Włącz Synchronizację Bestsellerów w CRON (tak/nie)

 

Komunikaty po synchronizacji
Usunięciu podlegają tylko dane bestsellerowe InPost Pay. Produkty natywne Magento pozostają w każdym przypadku absolutnie nie tknięte powyższymi procesami.

Proces synchronizacji Manualnej powinien zakończyć się odpowiednim komunikatem:

Dla Wysyłania danych:

image-20250512-125630.png

W przypadku wystąpienia innego komunikatu, powinien on zawierać informacje o przyczynie błędu.

Usunięcie skonfigurowanego produktu bestsellerowego możliwe z poziomu listy i edycji spowoduje natychmiastowe wysłanie żądania usunięcia tego produktu z InPost Pay.

image-20250512-125815.png
image-20250512-125846.png

Synchronizowane dane

W ramach procesu synchronizacji produktów bestsellerowych Magento przekazuje do InPost Pay następujące dane o produktach:

  • finalne ceny

  • dostępne stany

  • opisy/krótki opisy

  • atrybuty skonfigurowane do wykorzystywania na froncie