B2B

Установка SDK

SDK-виджет для кредитов - фронтенд-компонент, который встраивается в процесс выбора способы оплаты на Вашем ресурсе как альтернативный способ оплаты покупки. Виджет имеет готовое оформление в стилистике Альфа-Банка с возможностью изменения состояния и оформления под стилистику магазина.

Пример SDK-виджета:

Добавление компонента с CDN-сервера Альфа-Банка
1<script src="https://alfabank.servicecdn.ru/files/alfa-b2b-installment-plugin-1.0.js"></script>
Взаимодействие с SDK-виджетом

При взаимодействии пользователя с фронтенд-компонентом необходимо настроить обработчики событий для взаимодействия с API Банка.

В клиентском сценарии необходимо использовать методы для изменения состояния компонента, описанные ниже.

Метод Входные параметры Описание
setIsLoading boolean Отображение спиннера
setIsDisabled boolean Управление доступностью виджета
setTooltipMessage string Отображение переданного текста в тултипе
showTooltip - Отображение тултипа
hideTooltip - Скрытие тултипа
addClick () => void Обработчик события клика, внутри которого содержится бизнес-логика
removeClick () => void Удаление обработчика события addClick

Для добавления обработчика события клика на виджет необходимо вызвать метод addClick, передав в него функцию обратного вызова (callback).

Параметры инициализации компонента
Параметр Тип параметра Тип данных Обязательность Описание Варианты значений
root Пропс HTMLElement true HTML-элемент размещения виджета document.querySelector('.payment__methods__alfa')
view Объект, который конфигурирует визуальное представление виджета
text Пропс string true Текст, который будет отображён на виджете Купить в рассрочку
size Пропс string true Размер виджета на странице xs s m l xl
variant Пропс string true Вариант отображения виджета primary secondary outlined
tooltip Объект конфигурации тултипа
defaultMessage Пропс string true Текстовое значение для тултипа по умолчанию Что-то пошло не так, попробуйте ещё раз
position Пропс string true Позиция отображения тултипа относительно виджета top right bottom left
Пример работы виджета
1<script>
2 const {AlfaInstallmentPlanPlugin} = alfaB2B;
3
4
5 /** Пустой элемент, куда будет вставлен виджет **/
6 const root = document.querySelector('.payment__methods__alfa');
7
8
9 /**  Инициализация виджета **/
10 const Plugin = new AlfaInstallmentPlanPlugin({
11  root,
12  view: {
13   size: 's',
14   variant: 'primary',
15   text: 'Купить в рассрочку',
16   tooltip: {
17    position: 'top',
18    defaultMessage: 'some text',
19   }
20  }
21 });
22
23
24 /** Условный пример обработчика события и работы виджета **/
25 const handleClick = async () => {
26  try {
27   Plugin.hideTooltip();
28   Plugin.setIsLoading(true);
29   const {data} = await fetch('https://partner.exampleurl.ru');
30
31
32   if (!data.params) {
33    throw new Error('Сервис сейчас не доступен, попробуйте позже')
34   }
35
36
37   window.open(`https://alfabank.ru/sme/profits/b2b/?dealId={dealId}`)
38  } catch (e) {
39   const {message} = e;
40   Plugin.setTooltipMessage(message);
41   Plugin.showTooltip();
42  } finally {
43   Plugin.setIsLoading(false);
44
45
46   setTimeout(() => {
47    Plugin.hideTooltip();
48   }, 5_000);
49  }
50 };
51
52
53
54
55 Plugin.addClick(handleClick);
56</script>