Wtyczka InPost Pay umożliwia parowania koszyków zakupowych w sklepach internetowych Merchantów z aplikacją InPost. Warstwa frontend dostarczona jest w formie wtyczki JavaScript do osadzenia na stronie oraz niniejszej dokumentacji.
Do poprawnej integracji wymagane jest dostarczenie warstwy Merchant Backend API, osadzenie 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.
binding_place
Określa miejsce, gdzie następuje bindowanie. Informacja ta trafia do iziGetBindingData jako parametr. Dostępne opcje to:
PRODUCT_CARD
BASKET_SUMMARY
ORDER_CREATE
BASKET_POPUP
THANK_YOU_PAGE
iziGetBindingData
Pobiera dane potrzebne do parowania koszyków. Parametry prefix orax 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
bindingPlace - miejsce bindowania
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 bądź odświeżenia strony. W odpowiedzi dostajemy url strony typu thank you page z podziękowaniem za zakupy bądź informację o odświeżeniu strony.
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;
}
iziAddToCart
Metoda wykorzystywana do dodania produktu po kliknięciu w widget. Produkt zostanie dodany tylko wtedy, kiedy parametr data-product-id" jest wypełniony. Ważne: parowanie pustego koszyka nie jest możliwe.
Parametry
id - identyfikator produktu
Zwraca
void
Wartość
async function iziAddToCart(id) {
return void;
}
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: