Перейти к основному содержимому

Виджет для получения токенизированных данных банковской карты

Используйте виджет, чтобы хранить данные банковских карт в Банке 131.

Принцип работы виджета​

Вы встраиваете виджет на сайт. Пользователь вводит номер карты, Банк 131 сохраняет его в своей системе, а вам возвращает хеш для выплаты.

Вы можете сохранить этот хеш и использовать его для повторных выплат на ту же карту. Это безопасно.

к сведению

Чтобы проверить данные хеша, используйте метод token/info.

Инициализация виджета​

Шаг 1. Получите публичный токен​

Отправьте запрос Банку 131 на создание токена (token), передав в нем тип виджета tokenize_widget. В ответе вы получите публичный токен.

Шаг 2. Подключите скрипт и стили​

Подключите скрипт (JS) и стили (CSS) виджета. Для тестирования и операций с реальными данными адреса различаются:

<!-- Для тестовой среды -->
<link
href="https://widget-demo.bank131.ru/card-tokenizer.css"
rel="stylesheet"
/>
<script src="https://widget-demo.bank131.ru/card-tokenizer.js" defer></script>
<!-- Для операций с реальными данными -->
<link href="https://widget.bank131.ru/card-tokenizer.css" rel="stylesheet" />
<script src="https://widget.bank131.ru/card-tokenizer.js" defer></script>

После подключения скрипта в глобальной области видимости появится класс Bank131CardTokenizer.

Шаг 3. Добавьте контейнер​

Добавьте контейнер с уникальным идентификатором для размещения виджета на странице:

<div id="bank131-card-tokenizer"></div>

Шаг 4. Создайте экземпляр класса​

В конструктор класса Bank131CardTokenizer передайте публичный токен:

const cardTokenizer = new Bank131CardTokenizer('public token');

Настройте обработчик события, возникающего при успешном завершении процесса токенизации:

cardTokenizer.onTokenizationSuccess = function (cardToken) {
// ...
};

Шаг 5. Отобразите виджет​

Вызовите метод render():

cardTokenizer.render();

API виджета​

Конструктор Bank131CardTokenizer​

Конструктор класса виджета:

new Bank131CardTokenizer(publicToken[, options])
ПараметрТипОписание
publicTokenstringПубличный токен. Обязательный параметр
optionsobjectДополнительные настройки
options.containerHTMLElementКонтейнер, в который будет встроен виджет.
По умолчанию
<div id="bank131-card-tokenizer"></div>
options.textsobject
options.texts.cardNumberLabelstringЛейбл поля для ввода номера карты. По умолчанию Номер карты
options.texts.submitButtonLabelstringЛейбл кнопки привязки карты. По умолчанию Привязать карту

Метод cardTokenizer.render()​

Отображает виджет внутри контейнера, указанного в options.container:

cardTokenizer.render();

Обработчик события cardTokenizer.onReady​

Вызывается, когда виджет готов к работе:

cardTokenizer.onReady = function () {
/* обработчик */
};

Обработчик события cardTokenizer.onTokenizationStart​

Вызывается при старте процесса токенизации:

cardTokenizer.onTokenizationStart = function () {
/* обработчик */
};

Обработчик события cardTokenizer.onTokenizationSuccess​

Вызывается при успешном завершении процесса токенизации:

cardTokenizer.onTokenizationSuccess = function (cardToken) {
/* обработчик */
};
ПараметрТипОписание
cardTokenobject
cardToken.infoobjectДополнительная информация по карте
cardToken.info.card_networkstringТип платежной системы. Возможные значения: visa, mastercard, mir
cardToken.info.card_typestringТип карты. Дополнительно включает подбренд (visa_electron, maestro, mirmaestro)
cardToken.info.masked_card_numberstringМаскированное значение номера карты, например 424242******4242
cardToken.tokenstringХеш номера карты

Обработчик события cardTokenizer.onTokenizationFail​

Вызывается при ошибке процесса токенизации:

cardTokenizer.onTokenizationFail = function (error) {
/* обработчик */
};

Настройка виджета​

Изменение внешнего вида​

Чтобы изменить внешний вид виджета, подключите свой файл со стилями после стандартных стилей. Поле ввода внутри iframe изменить нельзя.

Пример подключения стилей:

<link href="https://widget.bank131.ru/card-tokenizer.css" rel="stylesheet" />
<link href="custom-styles.css" rel="stylesheet" />

Пример переопределения цвета:

/* custom-styles.css */

.bank131-Field__label {
color: green;
}

Изменение текстов​

Вы можете изменить стандартные тексты с помощью параметра options.texts в конструкторе Bank131CardTokenizer.

Как выплатить с виджетом или по токену >