Документация по интеграции «ОТП Банк» для интернет-магазинов

Подключение скрипта для инициализации вызова методов

Взаимодействие интернет-магазина с нами осуществляется путем вызова доступных методов JavaScript функции.
Для работы системы вам необходимо подключить скрипт на ваш сайт между тегами <head> ... </head>:
<script src="//api.b2otp.ru/shop/connect.js" charset="utf-8" type="text/javascript"></script>

Индентификация магазина

Для идентификации магазина в системе и определения точки входа поступления заявок необходимо сообщить нам адрес сайта интернет-магазина для открытия доступов.
В ответ вы получите значение параметра accessID, который используется для вызова методов скрипта.
Таким образом, вы можете добавить значение параметра между тегами <head> ... </head> для дальнейшего использования на сайте:
<script>
     var accessID = "";
</script>

Кредитный калькулятор

Перед заполнением заявки на кредит вы можете добавить на ваш сайт предварительный расчет параметров с помощью кредитного калькулятора.
Покупатель интернет-магазина, перед добавлением товара в корзину, сможет расчитать ежемесячный платеж и ознакомиться с условиями кредитования в банках.
Обязательным условием является передача массива с данными о товарах.
var productsList = new Array();
productsList[0] = { id: productArticle[0], name: productName[0], category: productCategory[0], price: productPrice[0], count: productCount[0] };
productsList[1] = { id: productArticle[1], name: productName[1], category: productCategory[1], price: productPrice[1], count: productCount[1] };
...
productsList[i] = { id: productArticle[i], name: productName[i], category: productCategory[i], price: productPrice[i], count: productCount[i] };

Параметры массива товаров

Параметр Тип данных Комментарий
id VARCHAR Артикул товара в вашем интернет-магазине для дальнейшего удобства в определение позиции
name VARCHAR Полное наименование товара в вашем магазине
category VARCHAR Значение зависит от типа интеграционной системы.

При работе через короткую форму анкеты с дальнейшим заполнением по телефону — передаем бренд.

При работе через полную форму анкеты по сквозному оформлению с моментальным решением от банков — необходимо настроить в нашем личном кабинете справочник категорий товаров и сопоставить значения с вашими данными категорий по товарам (справочник соответствия товарных групп).
price FLOAT Стоимость товара в рублях
count INT Количество приобретаемого товара.
Является необязательным для заполнения, можно опустить его передачу.
По умолчанию, значение равно "1".
После формирования массива данных с товарами можно вызывать функцию инициализации формы расчета параметров по кредиту.
poscreditServices('paymentCalculation', accessID, { products: productsList }, function(result){
     if(result.success === false){
          alert('Произошла ошибка запуска калькулятора. Попробуйте позднее...'); //Как возможный пример
     }
});

Получение ответа

Параметр Тип данных Комментарий
result.success BOOLEAN Успешность выполнения запроса. Принимает значения true или false

Оформление заявки на кредит

Для начала необходимо сформировать массив с данными о товарах, как мы это делали для кредитного калькулятора.
var productsList = new Array();
productsList[0] = { id: productArticle[0], name: productName[0], category: productCategory[0], price: productPrice[0], count: productCount[0] };
productsList[1] = { id: productArticle[1], name: productName[1], category: productCategory[1], price: productPrice[1], count: productCount[1] };
...
productsList[i] = { id: productArticle[i], name: productName[i], category: productCategory[i], price: productPrice[i], count: productCount[i] };

Параметры массива товаров

Параметр Тип данных Комментарий
id VARCHAR Артикул товара в вашем интернет-магазине для дальнейшего удобства в определение позиции
name VARCHAR Полное наименование товара в вашем магазине
category VARCHAR Значение зависит от типа интеграционной системы.

При работе через короткую форму анкеты с дальнейшим заполнением по телефону — передаем бренд.

При работе через полную форму анкеты по сквозному оформлению с моментальным решением от банков — необходимо настроить в нашем личном кабинете справочник категорий товаров и сопоставить значения с вашими данными категорий по товарам (справочник соответствия товарных групп).
price FLOAT Стоимость товара в рублях
count INT Количество приобретаемого товара.
Является необязательным для заполнения, можно опустить его передачу.
По умолчанию, значение равно "1".
После формирования массива данных с товарами можно вызывать функцию для инициализации формы оформления кредита.
poscreditServices('creditProcess', accessID, { order: '123', products: productsList, phone: '9210451122' }, function(result){
     if(result.success === false){
          alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'); //Как возможный пример
     }
});

Исходящий запрос

Параметр Обязательность Комментарий
order Да Номер заказа в вашей системе интернет-магазина
products Да Массив с данными о товарах
phone Да Номер телефона клиента. Необходимо обязательно передавать 10 символов в формате '9XXYYYZZDD'
tradeID Нет ID торговой точки в системе. Необходимо передавать, если интернет-магазин имеет несколько юридических лиц для верных взаиморасчетов или несколько адресов пунктов выдачи товара.
creditType Нет Отвечает за отображение параметров Кредит/Рассрочка в форме анкеты.

Если не передается — для выбора клиентом доступы оба варианта.
Если передается значение "1" — доступен только вариант "Кредит"
Если передается значение "2" — доступен только вариант "Рассрочка"
creditTermFrom Нет Возможность настроить минимальный срок кредита для ограничения списка выбора кредитных продуктов

Необходимо передавать целое число от 1 до 36
creditTermTo Нет Возможность настроить максимальный срок кредита для ограничения списка выбора кредитных продуктов

Необходимо передавать целое число от 1 до 36
creditFirstPaymentFrom Нет Возможность настроить минимальный первоначальный взнос для ограничения списка выбора кредитных продуктов

Необходимо передавать целое число от 0 до 99
creditFirstPaymentTo Нет Возможность настроить максимальный первоначальный взнос для ограничения списка выбора кредитных продуктов

Необходимо передавать целое число от 0 до 99

Получение ответа

Параметр Тип данных Комментарий
result.success BOOLEAN Успешность выполнения запроса. Принимает значения true или false

Получение статуса по заявке

После вызова функции poscreditServices с методом creditProcess происходит автоматическая инициализация callback функции poscreditCheckStatus(result)
Вам необходимо создать на своей стороне данную функцию для возможности получения статуса по оформлению заявки клиентом.
<script>
function poscreditCheckStatus(result) {
     //Один из вариантов возможного использования функции
     //Изменился статус оформления заявки, давайте сохраним эту информацию у себя в базе по номеру заказа (order)
     ...
     if(result === 1) alert('Клиент ушел не оформив заявку до конца');
     if(result === 2) alert('Клиенту отказали в кредите предложенные банки');
     if(result === 3) alert('Клиент сам отказался от кредита после получения решения');
     if(result === 4) alert('Заявка ушла в обработку кредитным инспекторам или перешла на ручной ввод');
}
</script>