Лимит на рассрочку на сайте партнеров
Лимит на рассрочку на сайте партнеров – специальный функционал партнерского сервиса BNPL/Рассрочка 0-0-4 позволяющий клиенту узнать доступный ему лимит до фактического оформления заказа.
Клиент получивший лимит, может оформлять заказ в рамках одобренной суммы на сайте партнера, без опасения получить отказ.
Схема процесса
Сначала всегда выполняется проверка лимита. Скоринг запускается только если у клиента лимита нет.
1. Получение лимита на рассрочку по номеру телефона
Метод предназначен для партнёров и позволяет получить по номеру телефона клиента сумму доступного лимита на рассрочку.
| Endpoint | /v1/limit/{phone_number}/installment-limit |
| Тип HTTP метода | GET |
| Формат данных | JSON |
Авторизация
Bearer
Запрос
path параметр
| phoneNumber | string | Да | Соответствие формату | 7XXXXXXXXXX | Номер телефона клиента |
Ответ
Пример ответа HTTP 200
{
"installmentLimit": 37000
}
Структура ответа
| Название | Тип данных | Описание |
| installmentLimit | int | Сумма доступного лимита |
HTTP 400 (ошибка - в запросе отсутствует поле phoneNumber)
{
"code": 0,
"message": "string",
"details": [
{
"@type": "string",
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
}
]
}
Статусы
Статусы ответа метода
| Статус | Описание |
| 200 | При успешном выполнении метода |
| 400 | При клиентской ошибке. (Пример: неверный формат phone_number) |
| 401 | Ошибка авторизации |
| 404 | При отсутствии клиента с таким номером телефона |
| 500 | Общая ошибка сервера |
2. Флоу лимита на рассрочку (если у клиента нет лимита)
Если по результатам проверки лимита у клиента лимита нет, партнёр отображает кнопку для прохождения флоу ниже.
1. Экран онбординга. Ввод ИИНа и номера телефона
ИИН и номер телефона должны быть связаны в БМГ(egov.kz)


2. Подтверждение согласия на сбор и обработку персональных данных смс-кодом

3. Смс-код от egov.kz для получения доступа к данным клиента

4. Принятие решения и предоставление клиенту лимита


Подключение
1. Разместить маркетинговые элементы на страницах сайта партнера
- Хедер
- Карточки товаров
- Модальные окна


2. На всех элементах разместить ссылку http://dev.bnpl.kz/qr/scoring?partnerCode=bnpl.kz&pointCode=01-0010-L1&site=сайт_партнера с открытием в новой вкладке
В параметре сайт указать ссылку на страницу куда вернуть клиента после завершения процесса по лимиту или ссылку на главную страницу сайта.
3. Настроить редирект клиента на ту же страницу, с которой он перешел на флоу лимита на рассрочку
Для того, чтобы по окончанию флоу лимита на рассрочку вернуть клиента на ту же страницу, с которой он перешел необходимо в параметр site= динамически передавать ссылку на текующую страницу.
Это можно сделать следующими способами:
3.1. Через бэкэнд-шаблонизатор
Если ссылка формируется на серверной стороне с использованием шаблонизатора (например, Twig, Blade, Smarty и др.), вы можете передавать текущий URL страницы в параметре site.
Пример:
<a href="https://bnpl.kz/qr/scoring?partnerCode=bnpl.kz&pointCode=01-0010-L1&site=' . urlencode($current_url) . '">Перейти</a>- partnerCode: ваш код партнёра.
- current_url: Переменная, содержащая URL текущей страницы.
- Убедитесь, что URL корректно закодирован для передачи в параметре (например, с использованием функций urlencode() или их аналогов).
3.2. Через JavaScript на фронте
Если ссылка не может быть сформирована на сервере, вы можете динамически добавлять текущий URL в параметр site с помощью JavaScript.
Пример:
<a id="dynamic-link" href="#">Перейти</a>
<script>
document.addEventListener("DOMContentLoaded", function () {
const link = document.getElementById("dynamic-link");
if (link) {
const currentUrl = encodeURIComponent(window.location.href);
link.href = "https://bnpl.kz/qr/scoring?partnerCode=bnpl.kz&pointCode=01-0010-L1&site=${currentUrl}";
}});
</script> - window.location.href: Получает полный URL текущей страницы.
- encodeURIComponent: Кодирует URL, чтобы он был корректно передан в параметре.
3.3. Через обработчик клика на ссылке
Если нужно добавлять параметр site только в момент клика, можно использовать обработчик событий.Пример:
<a id="dynamic-link" href="https://bnpl.kz/qr/scoring?partnerCode=bnpl.kz&pointCode=01-0010-L1">Перейти</a>
<script>
const link = document.getElementById("dynamic-link");
link.addEventListener("click", function (event) {
// предотвращаем переход по ссылке до изменения href
event.preventDefault();
// текущий URL
const currentUrl = encodeURIComponent(window.location.href);
// обновленная ссылка
const newLink = `${link.href}&site=${currentUrl}`;
// перенаправляем на обновленную ссылку
window.location.href = newLink;
});
</script> - Обработчик позволяет избежать передачи лишних данных, если пользователь не кликает по ссылке.
- Важно: обработчик должен быть подключен только на нужных страницах.
Рекомендации:
1.Кодирование URL: Обязательно используйте encodeURIComponent для корректной передачи ссылок.
2.Минимизация кода: Используйте бэкэнд-шаблонизатор, если это возможно, чтобы уменьшить количество клиентских скриптов.
3.Тестирование: Убедитесь, что ссылки корректно формируются и переходы работают на всех страницах.