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:
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 Basket App 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
Boo
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: