Versions Compared
Version | Old Version 13 | New Version 14 |
---|---|---|
Changes made by | ||
Saved on |
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Wtyczka InPost izi Pay dostarcza możliwość parowania koszyków zakupowych w sklepach 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 backend, osaczenie 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:
● iziGetBindingData
● iziGetIsBound
● iziGetOrderComplete
● iziBindingDelete
● iziCanBeBound
● iziAddToCart
Na tej stronie
Table of Contents |
---|
Pobranie skryptu
Skrypt wtyczki znajduje się pod adresem: https://izi.inpost.pl/inpostizi.js
Osadź go na swojej stronie przez:
Code Block | ||
---|---|---|
| ||
<script src="https://izi.inpost.pl/inpostizi.js"></script> |
Osadzenie html
W celu wyświetlenia widgetu należy osadzić w html poniższy kod:
Code Block | ||
---|---|---|
| ||
<inpost-izi-button name="" masked_phone_number="" data-product-id="" language="pl" variant="primary" basket="true" dark_mode="true" count="5"></inpost-izi-button> |
Parametr | Opis |
---|---|
| Imię kupującego, wypełnij jeśli koszyki są sparowane. |
| ID produktu, wymagane jeśli przy parowaniu chcesz dodać produkt o podanym id do koszyka. |
| Zamaskowany numer telefonu, wymagane jeśli koszyki są sparowane. |
| Wariant wyglądu przycisku. Do wyboru “ |
| Określa czy przycisk znajduje się na stronie koszyka. Dopuszczalna wartość “ |
| Określa tryb wyświetlania. Dopuszczalna wartość “ |
| Określa inicjalną liczbę produktów do wyświetlenia w koszyku. |
| Określa miejsce, gdzie następuje bindowanie. Informacja ta trafia do
|
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 |
|
---|---|
Zwraca | Promise |
Wartość | Dane z zapytania backend |
Code Block | ||
---|---|---|
| ||
function iziGetBindingData(id, prefix, phoneNumber, bindingPlace) { return Promise.resolve({ qr_code: 'string', deep_link: 'string', deep_link_hms: 'string', }); } |
iziGetIsBound
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 |
Code Block | ||
---|---|---|
| ||
function iziGetIsBound() { return Promise.resolve({ "phone_number": { "country_prefix": "string", "phone": "string" }, "browser_trusted": boolean, "name": "string", "surname": "string" }); } |
iziGetOrderComplete
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’} |
Code Block | ||
---|---|---|
| ||
function iziGetOrderComplete() { return Promise.resolve({ redirect: 'string' }) } |
iziBindingDelete
Metoda wywoływana przy usuwaniu parowania.
Parametry | brak |
---|---|
Zwraca | Promise |
Wartość | void |
Code Block | ||
---|---|---|
| ||
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 |
|
---|---|
Zwraca | Bool |
Wartość | true || false |
Code Block | ||
---|---|---|
| ||
function iziCanBeBound(productId) { return true || false; } |
iziAddToCart
Metoda wykorzystywana do dodania produktu po kliknięciu w widget.
Parametry |
|
---|---|
Zwraca | void |
Wartość |
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
window.handleInpostIziButtons(); |
Poniżej przykład dla komponentu ReactJs:
Code Block | ||
---|---|---|
| ||
import React, { useEffect } from "react"; import { useLocation } from "react-router-dom"; export...= ({ children }) => { const location = useLocation(); useEffect(() => { window.handleInpostIziButtons(); }, [location]); return <>{children}</>; }; |