Чтобы подключить виджет, выполните следующие настройки.
Чтобы аутентифицировать клиентов в виджете, вам необходимо генерировать JWT-токены. Токен будет уникальным для каждого клиента.
Подключите библиотеку для генерации токенов. Можно использовать стороннюю библиотеку, например firebase/php-jwt. Каждый токен должен быть подписан с использованием секрета, который вы получили в email, с помощью алгоритма HS256.
Задайте параметры генерации JWT-токенов. Установите значение параметра ident_type
— он отвечает за то, по каким признакам система будет искать клиента в LBX. Возможные значения:
Помимо ident_type
в payload каждого JWT-токена передаются:
ident
— значение параметра ident_type
. Например, если для ident_type
выбрано 2 (по ИНН клиента), то в ident
будет ИНН конкретного клиента — к примеру, 7726520179.iat
— timestamp создания токена.Результат генерации токена — строка вида:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c.
``
Она передаётся клиенту при инициализации виджета.
Пример payload токена:
{
"ident_type": 2,
"ident": "7726520179",
"iat": 1712131614
}
``
Для того чтобы виджет отображался на вашей HTML-странице, его нужно встроить.
Подключите скрипт виджета на вашей странице. Вместо https://URL_billing/lbxwidget.js
укажите свою ссылку на файл:
<script src="https://URL_billing/lbxwidget.js"></script>
``
Добавьте контейнер в html-код страницы, на которой нужно отображать виджет:
<div id="widget-container"></div>
``
После загрузки скрипта инициируйте рендер виджета в созданном контейнере:
const widget = lbxwidget({ token: {jwtToken}, {...остальные параметры} });
widget.render('widget-container');
``
Параметры:
token
— JWT-токен клиента.
Остальные параметры:
disableCreateSubscription: boolean
:
disableEditSubscription: boolean
:
disableStopSubscription: boolean
:
disableAutopayments: boolean
:
disablePayments: boolean
:
disableInvoiceGeneration: boolean
:
hideInvoicesList: boolean
:
hideSubscriptionsList: boolean
:
widget-container
— контейнер, в котором будет отображаться виджет.
У вас есть вопросы по этой статье? Пожалуйста, напишите нам