Versions Compared

Key

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

Weryfikacja powiązania koszyka z InPost Pay [1-6]: 

  1. Klient przechodzi na stronę Merchanta. 

  2. Merchant buduje stronę sklepu , jednocześnie weryfikującz osadzonym widgetem, na którym prezentuje się informacja:

    1. Utwórz koszyk z InPost Pay” – widget osadzony na karcie produktu

      image-20240103-144248.pngImage Added
    2. Kup z InPost Pay” - widget osadzony w koszyku.

      image-20240103-144310.pngImage Added
  3. Klient przyciska widget “Utwórz koszyk z InPost Pay” lub „Kup z InPost Pay”.

  4. Widget weryfikuje w backend Merchanta, czy wybrany produkt może być dodany do koszyka (iziCanBeBound).

  5. 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 do InPost Pay. 

  6. InPost Pay zwraca informacje, że koszyk nie jest powiązany (basket_linked=false) oraz przeglądarka nie jest zaufana (browser_trusted=falseflase). 

  7. Merchant buduje stronę sklepu z osadzonym widgetem, na którym prezentuje się informacja : “Utwórz koszyk z InPost Pay”. 

  8. Wywoływana jest metoda iziCanBeBound, która określa czy produkt może zostać dodany do koszyka.

Wiązanie z wykorzystaniem numeru telefonu [7-30]: 

  1. Klient przyciska widget “Utwórz koszyk z InPost Pay”, po którym prezentuje się klientowi ekran z wiązaniem

  2. Widget dodaje produkt do koszyka w sklepie Merchanta (iziAddToCart).

  3. Widegt prezentuje ekran defaultowy do wiązania koszyka z wykorzystaniem numeru telefonu.

    image-20240103-144656.pngImage Added
  4. Klient wprowadza definiuje numer telefonu i wybiera połącz. naciska „Połącz”.

  5. 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. Merchant w request przekazuje dane: 

  6. basket_id - unikalny id koszyka 

  7. binding_method = PHONE 

  8. phone_number - numer telefonu wprowadzony przez klienta 

  9. binding_place - miejsce, gdzie nastąpiło wiązanie koszyka 

  10. browser - obiekt składający się z informacji dot

    .

    przeglądarki, z której następuje wiązanie 

    InPost Pay weryfikuje reguły bezpieczeństwa/spam wiązania dla numeru telefonu. W przypadku: 

    1. pozytywnej weryfikacji odpowiada response (202) do Merchanta oraz wysyła notyfikacje (push) na urządzenie klienta. 

    2. negatywnej weryfikacji proces wiązania koszyka jest kończony (InPost Pay zwraca kod błędu do backendu Merchanta). 

  11. Widget prezentuje komunikat

    image-20240104-163351.pngImage Added
  12. Klient poprzez notyfikacje push uruchamia aplikacje InPost, w której: 

    1. akceptuje powiązanie koszyka lubkoszyka 

      image-20240103-151433.pngImage Added
    2. rejestruje się w InPost Pay i akceptuje powiązanie koszyka.

  13. 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. Metoda wystawiona przez Merchanta w której InPost Pay przekazuje dane: 

    1. basket_id - unikalny identyfikator koszyka nadany przez merchanta 

    2. status - status wiązania [SUCCESS; REJECT

    3. inpost_basket_id - unikalny identyfikator koszyka nadany przez InPost Pay - dana wykorzystywana tylko przez widget 

    4. phone_number - numer telefonu, z którym koszyk został powiązany 

    5. browser - obiekt przekazujący informacje czy przeglądarka została dodana do zaufanych 

      1. browser_trusted - flaga informująca, czy przeglądarka została dodana do zaufanych 

      2. browser_id - identyfikatora przeglądarki zaufanej, nadany przez InPost Pay 

    6. masked_phone_number - numer maskowany 

    7. name - imię klienta 

    8. surname - nazwisko klienta 

  14. Backend Merchanta po otrzymaniu POST/v1/izi/basket/{basket_id}/confirmation potwierdzającego powiązanie koszyka z sukcesem, w response przesyła do Inpost Pay Basket Details klienta (szczegóły koszyka, na które składają się dane obligatoryjne : summary, delivery, products, consents oraz opcjonalne promo_codes, related_products). 

  15. Podczas procesu wiązania koszyka, widget rozpoczyna nasłuchiwanie backendu Merchanta (z wykorzystaniem looping lub websocket) czy backend merchant otrzymał informacje o powiązaniu koszyka (POST/v1/izi/basket/{basket_id}/confirmation). W przypadku otrzymania informacji, widget prezentuje klientowi powiadomienie o udanym powiązaniu i dokończeniu płatności za zakupy w aplikacji InPost Pay InPost Pay wiąże koszyk (id koszyka nadane przez Merchanta) z numerem telefonu.

  16. Backend Merchanta przekazuje informacje o powiązaniu koszyk do Widget (response iziGetIsBound)

  17. Widget prezentuje klientowi informacje na widget „Produkty w koszyku InPost Payoraz zapisuje browser_id w local storage cookies przeglądarki. 

    image-20240103-151646.pngImage Added
  18. Aplikacja InPost Pay prezentuje klientowi powiązany koszyk.

    image-20240103-151734.pngImage Added
  19. 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. 

    image-20240103-151826.pngImage Added


Diagram UC.03 Wiązanie koszyka z InPost Pay z wykorzystaniem numeru telefonu

Image Removeduc_03 Wiązanie koszyka z InPost Pay z wykorzystaniem numeru telefonu.svgImage Added