Лимит на рассрочку на сайте партнеров

Лимит на рассрочку на сайте партнеров – специальный функционал партнерского сервиса BNPL/Рассрочка 0-0-4 позволяющий клиенту узнать доступный ему лимит до фактического оформления заказа.

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

Схема процесса

Сначала всегда выполняется проверка лимита. Скоринг запускается только если у клиента лимита нет.

Клиент попадает на страницу с функционалом лимита
Партнёр вызывает проверку лимита
У клиента есть лимит
Партнер отображает доступный клиенту лимит
У клиента нет лимита
Партнер отображает кнопку для проверки лимита

1. Получение лимита на рассрочку по номеру телефона

Метод предназначен для партнёров и позволяет получить по номеру телефона клиента сумму доступного лимита на рассрочку.

Endpoint/v1/limit/{phone_number}/installment-limit
Тип HTTP методаGET
Формат данныхJSON

Авторизация

Bearer

Запрос

path параметр

phoneNumberstringДаСоответствие формату7XXXXXXXXXXНомер телефона клиента

Ответ

Пример ответа HTTP 200

{ "installmentLimit": 37000 }

Структура ответа

НазваниеТип данныхОписание
installmentLimitintСумма доступного лимита

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 для получения доступа к данным клиента

Ввод смс-кода Egov

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.Тестирование: Убедитесь, что ссылки корректно формируются и переходы работают на всех страницах.