Widget InPost Pay dostarcza możliwość parowania koszyków zakupowych w sklepach z aplikacją InPost Mobile. Warstwa frontend dostarczona jest w formie wtyczki JavaScript do osadzenia na stronie oraz niniejszej dokumentacji.
Do poprawnej integracji wymagane jest dostarczenie warstwy backend, osaczenie html wtyczki, oraz sterowanie stanem warstwy frontend poprzez dostarczenie opisanych poniżej metod.
Lista metod do zaimplementowania przez backend merchanta w celu używania wtyczki:
Imię kupującego, wypełnij jeśli koszyki są sparowane.
data-product-id
ID produktu, wymagane jeśli przy parowaniu chcesz dodać produkt o podanym id do koszyka.
masked_phone_number
Zamaskowany numer telefonu, wymagane jeśli koszyki są sparowane.
variant
Wariant wyglądu przycisku. Do wyboru “secondary” bądź “primary”.
basket
Określa czy przycisk znajduje się na stronie koszyka. Dopuszczalna wartość “true”.
dark_mode
Określa tryb wyświetlania. Dopuszczalna wartość “true”.
count
Określa inicjalną liczbę produktów do wyświetlenia w koszyku.
iziGetBindingData
Pobiera dane potrzebne do parowania koszyków. Parametry prefix oraz phoneNumber są nieobowiązkowe. Wywołania z 1 parametrem służą do pozyskania kodu qr. Wywołania z wszystkimi 3 parametrami służą do parowania przy pomocy numeru telefonu.
Parametry
id - identyfikator produktu prefix- prefiks numeru telefonu phoneNumber - numer telefonu
Zwraca
Promise
Wartość
Dane z zapytania backend basket-app/api/v1/izi/basket/{basketId}/binding
Wywoływana po wyświetleniu qr code bądź deep link w celu sprawdzenia, czy parowanie przebiegło pomyślnie. Po stronie developera należy obsłużyć komunikację tak, żeby nie obciążać zbytnio serwera przez wykorzystanie websocket bądź long pooling.
Parametry
brak
Zwraca
Promise
Wartość
Dane otrzymane od InPost Pay na zapytanie /inpost/v1/izi/basket/{basketId}/confirmation
Metoda wywołana po sparowaniu koszyka i na każdej stronie z koszykiem już sparowanym. Nasłuchuje na zakończenie zamówienia w aplikacji. W odpowiedzi dostajemy url strony typu thank you page z podziękowaniem za zakupy.
Parametry
brak
Zwraca
Promise
Wartość
{redirect: ‘url’}
function iziGetOrderComplete() {
return Promise.resolve({
redirect: 'string'
})
}
iziBindingDelete
Metoda wywoływana przy usuwaniu parowania.
Parametry
brak
Zwraca
Promise
Wartość
void
function iziBindingDelete() {
return Promise.resolve();
}
iziCanBeBound
Metoda określa czy produkt może zostać dodany do koszyka i sparowany. Wykorzystywane przy produktach wariacyjnych w celu określenia czy parametry produktu zostały już określone.
Parametry
productId - identyfikator produktu
Zwraca
Bool
Wartość
true || false
function iziCanBeBound(productId) {
return true || false;
}
SPA
Wtyczka przygotowana została z myślą o użyciu z aplikacjami SPA. W celu integracji sklepu z InPost Pay należy obsłużyć inicjowanie przycisku Pay w cyklu życia aplikacji. Skrypt po pierwszym załadowaniu automatycznie inicjuje wszystkie znalezione w kodzie instancje <inpost-izi-button /> W celu inicjowania widgetu po aktualizacji DOM należy użyć metody: