Metoda integracji przez widżet pozwala na zintegrowanie płatności kartą płatniczą z poziomu sklepu. W takim przypadku nie jest wymagane przekierowanie na bramkę płatności.

Widżet obsługuje płatności eCom 3DSecure, płatności OneClick jak i również rekurencyjne.

Aby zastosować tę metodę należy osadzić odpowiedni skrypt JavaScript.

Środowisko produkcyjne:

https://paywall.imoje.pl/js/widget.min.js

Środowisko testowe:

https://sandbox.paywall.imoje.pl/js/widget.min.js

Parametry

Parametr Parametr wymagany Opis
data-merchant-id TAK identyfikator klienta
data-service-id TAK identyfikator sklepu klienta
data-amount TAK kwota transakcji podana w groszach
data-currency TAK waluta
data-order-id TAK ID zamówienia, dopuszczalne znaki: A-Za-z0-9#_-./ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne)
data-customer-id TAK ID płatnika, dopuszczalne znaki: A-Za-z0-9_-
data-customer-first-name TAK imię osoby składającej zamówienie, dopuszczalne znaki: A-Za-z0-9-,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica)
data-customer-last-name TAK nazwisko osoby składającej zamówienie, dopuszczalne znaki: A-Za-z0-9-,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), 0400 - 04FF (cyrylica)
data-customer-email TAK adres e-mail w formacie zgodnym ze standardem RFC 5322 oraz RFC 6531
data-signature TAK wyliczona sygnatura
data-customer-phone NIE numer telefonu osoby składającej zamówienie, dopuszczalne znaki: -+0-9 oraz spacja. Wartość parametru zawierać może maksymalnie 20 znaków
data-order-description NIE tytuł transakcji, dopuszczalne znaki: A-Za-z0-9#&_-,.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne)
data-url-success NIE Adres URL, na który użytkownik będzie przekierowany po pomyślnie zakończonej transakcji.
Adres musi być zgodny ze standardem RFC 3986 i zawierać hosta.
Nazwa domeny nie może być absolutna (FQDN).
data-url-failure NIE Adres URL, na który użytkownik będzie przekierowany po błędnie dokonanej transakcji.
Adres musi być zgodny ze standardem RFC 3986 i zawierać hosta.
Nazwa domeny nie może być absolutna (FQDN).
data-url-return NIE Ogólny adres URL, na który użytkownik będzie przekierowany po dokonaniu transakcji.
Adres musi być zgodny ze standardem RFC 3986 i zawierać hosta.
Nazwa domeny nie może być absolutna (FQDN).
data-url-cancel NIE Adres URL, na który użytkownik będzie przekierowany po naciśnięciu przycisku Anuluj.
Adres musi być zgodny ze standardem RFC 3986 i zawierać hosta.
Nazwa domeny nie może być absolutna (FQDN).
data-widget-type NIE oznaczenie typu płatności Dopuszczalne wartości: oneclick, recurring, ecom3ds
data-valid-to NIE data ważności linku płatności jako timestamp w sekundach, jeżeli nie jest przekazane to link ważny jest zawsze
data-invoice NIE zakodowane dane do faktury, konieczne podczas korzystania z usługi ING Księgowość. Dane należy zakodować zgodnie z instrukcją opisaną tutaj
data-multipayout NIE dane określające odbiorcę płatności dla funkcji multiwypłat, gdzie:
* ban - numer konta bankowego
* amount - kwota transakcji podana w groszach
* label - nazwa odbiorcy (max 35 znaków), dopuszczalne znaki: A-Za-z0-9-,. oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne)
* title - tytuł przelewu (max 105 znaków), dopuszczalne znaki: A-Za-z0-9#&_-,.\/ oraz znak spacji(0x20) i znaki z zakresu UNICODE 00C0 - 02C0 (m.in. polskie znaki diakrytyczne), parametr opcjonalny. Jego obecność powoduje wyodrębnienie danej transakcji na koncie odbiorcy.
Podanie parametru dla jednego elementu warunkuje konieczność dostarczenia go dla pozostałych.

Przykładowa struktura parametru data-multipayout powinna wyglądać w następujący sposób:

data-multipayout=[{"ban":"39109024028943913168514519","label":"Test1","amount":100},{"ban":"72105000028166973380325415","label":"Test2","amount":100}]

Parametry konfiguracyjne - nie należy ich uwzględniać przy wyliczaniu sygnatury

Parametr Parametr wymagany Opis
data-locale NIE Dwuznakowy kod języka.
Dopuszczalne wartości: pl, en, cs, de, es, fr, it, lt, ru, sk, sl, uk, nl, hu, ro, bg, sv.
Domyślnie pl, gdy zostanie przekazana nieznana wartość to wyświetli en
data-inline NIE jeżeli jest ustawione na true to istnieje możliwość aby iframe był osadzony w elemencie o identyfikatorze imoje-widget__wrapper (element o takim identyfikatorze musi istnieć).
Jeżeli tego parametru nie ma lub jest ustawiony na false wtedy iframe będzie wyświetlony na cały ekran
data-element-id NIE wskazanie identyfikatora elementu który ma być interaktywny z widżetem, domyślnie jest false
data-element-event NIE wskazanie jaki event ma rozpocząć interakcję z widżetem, domyślnie jest click

Przykład

<script
    src="https://paywall.imoje.pl/js/widget.min.js"
    id="imoje-widget__script"

    data-merchant-id="6yt3gjtm9p1odfgx8491"
    data-service-id="63f574ed-d90d-4abe-9cs1-39117584a7b"
    data-amount="200"
    data-currency="PLN"
    data-order-id="123"
    data-customer-id="123"
    data-customer-first-name="John"
    data-customer-last-name="Doe"
    data-customer-email="johndoe@domain.com"
    data-signature="5d8b909fd777f1e2a4bbf9af8a9dca248c4fe9b14ae70610d051e29358cb62b1;sha256">
</script>

gdzie

  • src - adres URL do skryptu widget.min.js
  • id - ID skryptu. Zawsze musi mieć wartość imoje-widget__script


Powyższych parametrów src, id należy nie uwzględniać przy wyliczaniu sygnatury.

Wyliczanie sygnatury

Nazwy parametrów do wyliczenia sygnatury należy zamienić zgodnie z przykładem:

  • parametr data-order-id na orderId.

Sygnaturę należy wyliczyć w taki sam sposób jak jest to opisane w punkcie Autoryzacja