Koszyk powiązany z InPost Pay
Weryfikacja powiązania koszyka z InPost Pay
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 jest powiązany (
basket_linked=true
) oraz przeglądarka jest zaufana (browser_trusted=true
) lub przeglądarka niezaufana (browser_trusted=false
).Backend Merchant odświeża stronę sklepu wraz z zaktualizowanym Widget, na który prezentuje się informacja:
Widget dodaje produkt do koszyka w sklepie Merchanta (iziAddToCart)
Inpost Pay po otrzymaniu requestu PUT/v1/izi/basket/{basket_id}, aktualizuje istniejący koszyk lub wiąże go z numerem telefonu przypisanym do przeglądarki zaufanej. Następnie zwraca informację do backendu Merchanta potwierdzającą zakończenie operacji sukcesem (response 200).
Backend Merchanta wywołuje inpost-update-count, który pozwala na zaktualizowanie liczby produktów na przycisku.
Widget prezentuje zaktualizowaną liczbę produktów w koszyku.
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.
Połączenie koszyka z innym numerem telefonu (Usunięcie/desynchronizacja koszyka powiązanego z InPost Pay)
Klient przyciska “Produkty w koszyku InPost Pay”.
Widget prezentuje ekran “Twoje zakupy czekają już na Ciebie w aplikacji InPost Mobile” wraz z prezentacją zamaskowanego numeru telefonu, z którym koszyk jest powiązany w aplikacji InPost Pay.
Klient wybiera “Połącz te zakupy z innym kontem”.
Widget prezentuje popup “Czy na pewno chcesz powiązać te zakupy z numerem telefonu innym niż..”.
Klient wybiera “Połącz z innym numerem telefonu”.
Widget wywołuje iziBindingDelete do backendu Merchanta.
Backend Merchanta wywołuje DELETE/v1/izi/basket/{basket_id}/binding do InPost Pay.
InPost Pay usuwa powiązanie koszyka z numerem telefonu oraz przekazuje informacje do backendu Merchanta o poprawnym wykonaniu zadania.
Backend Merchanta wywołuje DELETE/v1/izi/browser/{browser_id}/binding do InPost Pay.
InPost Pay usuwa powiązanie przeglądarki z numerem telefonu oraz przekazuje informacje do backendu Merchanta o poprawnym wykonaniu zadania.
Merchant przekazuje informacje do widget (Promise.resolve w response iziBindingDelete), który następnie prezentuje klientowi ekran z wiązaniem koszyka z wykorzystaniem zaktualizowanego/zmienionego numeru telefonu.
Diagram UC.01 Koszyk powiązany z InPost Pay