Wiązanie koszyka z InPost Pay z wykorzystaniem numeru telefonu
Klient przechodzi na stronę Merchanta.
Merchant buduje stronę sklepu z osadzonym widgetem, na którym prezentuje się informacja:
„Utwórz koszyk z InPost Pay” – widget osadzony na karcie produktu
„Kup z InPost Pay” - widget osadzony w koszyku.
Klient przyciska widget “Utwórz koszyk z InPost Pay” lub „Kup z InPost Pay”.
Widget weryfikuje w backend Merchanta, czy wybrany produkt może być dodany do koszyka (iziCanBeBound).
Backend Merchanta przy pierwszej wywołanej metodzie przez Widget wywołuje metodę do InPost Pay w celu weryfikacji, czy koszyk klienta jest powiązany z InPost Pay oraz czy przeglądarka, z której klient aktualnie korzysta jest dodana do zaufanych. Weryfikacja następuje poprzez request GET/v1/izi/basket/{basket_id}/binding.
InPost Pay zwraca informacje, że koszyk nie jest powiązany (
basket_linked=false
) oraz przeglądarka nie jest zaufana (browser_trusted=flase
).Widget dodaje produkt do koszyka w sklepie Merchanta (iziAddToCart).
Widegt prezentuje ekran defaultowy do wiązania koszyka z wykorzystaniem numeru telefonu.
Klient definiuje numer telefonu i naciska „Połącz”.
Widget wywołuje metodę iziGetPayData, która pobiera dane potrzebne do parowania koszyków i w której zawiera się metoda iziGetBrowserData zwracająca dane przeglądarki do backendu Merchanta, który z wykorzystaniem metody POST/v1/izi/basket/{basket_id}/binding przekazuje numer telefonu do InPost Pay. InPost Pay weryfikuje reguły bezpieczeństwa/spam wiązania dla numeru telefonu. W przypadku:
pozytywnej weryfikacji odpowiada response (202) do Merchanta oraz wysyła notyfikacje (push) na urządzenie klienta.
negatywnej weryfikacji proces wiązania koszyka jest kończony (InPost Pay zwraca kod błędu do backendu Merchanta).
Widget prezentuje komunikat
Klient poprzez notyfikacje push uruchamia aplikacje InPost, w której:
akceptuje powiązanie koszyka
rejestruje się w InPost Pay i akceptuje powiązanie koszyka.
InPost Pay wiąże koszyk (id koszyka nadane przez Merchanta) z numerem telefonu i przekazuje informacje do Merchanta o powiązaniu koszyka z wykorzystaniem metody POST/v1/izi/basket/{basket_id}/confirmation.
InPost Pay wiąże koszyk (id koszyka nadane przez Merchanta) z numerem telefonu.
Backend Merchanta przekazuje informacje o powiązaniu koszyk do Widget (response iziGetIsBound)
Widget prezentuje klientowi informacje na widget „Produkty w koszyku InPost Pay” oraz zapisuje
browser_id
w cookies przeglądarki.Aplikacja InPost Pay prezentuje klientowi powiązany koszyk.
Widget po uzyskaniu informacji, że koszyk jest powiązany, rozpoczyna nasłuchiwać backend Merchanta (z wykorzystaniem iziGetOrderComplete i jednej z metod looping lub websocket), czy nastąpiła realizacja zamówienia za koszyk. W przypadku otrzymania informacji o realizacji, widget prezentuje klientowi ekran z podziękowaniami za finalizację zamówienia.
Diagram UC.03 Wiązanie koszyka z InPost Pay z wykorzystaniem numeru telefonu