Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Utworzenie zamówienia w aplikacji InPost Pay [1-8]:
Klient przechodzi na koszyk w aplikacji InPost Pay, uzupełnia wymagane dane do zamówienia (forma i adres dostawy, dane do faktury), wybiera formę płatności i inicjuje utworzenie zamówienia oraz proces płatności poprzez przycisk “Kupuję i Płacę”.
InPost Pay po rozpoczęciu procesu zakupu przez klienta, pobiera od Merchanta aktualny koszyk (z wykorzystaniem metody GET/v1/izi/basket/{basket_id}) i weryfikuje, czy zawartość koszyka przechowywana w InPost Pay jest zgodna z koszykiem przekazanym przez Merchanta (weryfikacja przy pomocy wyliczania hash).
Jeśli koszyk w aplikacji InPost Pay jest nieaktualny, prezentowany jest klientowi odpowiedni komunikat - koniec procesu utworzenia zamówienia na nieaktualnym koszyku.
Jeśli koszyk w aplikacji InPost Pay jest aktualny to następuje wywołanie metody POST/v1/izi/order do Merchanta w celu utworzenia zamówienia. W request przekazywane są dane:
order_details – dane do utowrzenia zamówienia (identyfikator koszyka, całkowitą wartość zamówienia, wybraną formę płatności)account_info – dane użytkownika aplikacji InPost Pay
invoice_details – dane do faktury
delivery – formę dostawy
consents – zgodny i oświadczenia wybrane przez użytkownika.
Link do przykładowego wywołania metody: GET/v1/izi/basket/{basket_id}.
Merchant w response POST/v1/izi/order
po prawidłowym utworzeniu zamówienia przekazuje do InPost Pay dane:
order_details
- szczegóły zamówienia (razem z nadanym order_id
oraz pos_id
)
account_info
- dane o kliencie
invoice_details
- dane do faktury
delivery
- dane o formie dostawy zamówienia
products
- lista produktów
consents
- zdefiniowane zgody klientaszczegóły zamówienia zgodnie ze schematem w response POST/v1/izi/order.
Link do przykładowego wywołania metody: POST/v1/izi/order.
Opłacenie zamówienia w aplikacji InPost Pay [9-19]:
InPost Pay po otrzymaniu informacji o utworzeniu zamówienia, nadaje
order_status
=ORDER_PROCESSING
ipayment_status
=UNPAID
oraz rozpoczyna proces płatności, którym kolejno wraz etapami wykonania płatności przez klienta nadaje i zapisuje dane:payment_status
=STARTED
- rozpoczęcie płatności przez klienta w aplikacji InPost oraz wygenerowanie i zapis danych referencyjnych płatnościpayment_status
=PENDING
- płatność wykonana przez klienta w aplikacji InPost i oczekuje na wykonanie w bramce płatniczejpayment_status
=AUTHORIZED
- płatność zrealizowana z sukcesem w bramce płatniczej i zapis danych płatności w szczegółach zamówienia.
Po wykonaniu płatności z sukcesem, prezentowana jest klientowi w aplikacji InPost informacja o pomyślnym opłaceniu zamówienia oraz InPost Pay wysyła request na endpoint POST/v1/izi/order/{order_id}/event w celu poinformowania Merchanta o opłaceniu zamówienia.
Link do przykładowego wywołania metody: POST/v1/izi/order/{order_id}/event.Widget dla powiązanego koszyka nasłuchuje backend Merchanta (z wykorzystaniem looping lub websocket), czy nastąpiła realizacja zamówienia. W przypadku otrzymania informacji o realizacji, widget prezentuje klientowi ekran z podziękowaniem za finalizację zamówienia.
Diagram UC.05 Realizacja zamówienia
Film z procesu zakupowego w aplikacji mobilnej:
IMG_0.MOV