Документация по интеграции «POS-CREDIT» для интернет-магазинов

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

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

Для работы системы на вашем сайте обязательно должен быть установлен SSL-сертификат (HTTPS)!

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

Для идентификации магазина в системе и определения точки входа поступления заявок необходимо сообщить нам адрес сайта интернет-магазина для открытия доступов.
В ответ вы получите значение параметра 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('Заявка ушла в обработку кредитным инспекторам или перешла на ручной ввод');
     if(result === 5) alert('Получено одобрение по заявке, но клиент не подтвердил выбор банка');
     if(result === 6) alert('Клиент завершил оформление заявки и подтвердил выбор банка');
}
</script>

Получение номера заявки

После успешного заполнения анкеты на кредит происходит автоматическая инициализация callback функции poscreditSaveProfile(id)
Вам необходимо создать на своей стороне данную функцию для возможности получения и дальнейшего сохранения номера заявки.
<script>
function poscreditSaveProfile(id) {
     //Полученный id заявки можно сохранить в БД, один из вариантов — отправкой $.post на URL-обработчик
     ...
     console.log("Номер заявки: "+id);
}
</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('winAccess', accessID, { order: '123', products: productsList, phone: '9210451122' }, function(result){
     if(result.success === false){
          alert('Произошла ошибка при запросе'); //Как возможный пример
     }
});

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

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

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

Параметр Тип данных Комментарий
result.success BOOLEAN Успешность выполнения запроса. Принимает значения true или false
result.error_code INT Код ошибки. Может отсутствовать, если операция успешно выполнена без ошибок
result.error_message VARCHAR Описание ошибки. Может отсутствовать, если операция успешно выполнена без ошибок

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

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

<script>
var accessID = "Введите ID вашего магазина, полученный от менеджера";
var productsList = new Array();
productsList[0] = { id: 'Введите артикул товара', name: 'Название товара', category: 'Бренд и модель товара', price: 'Стоимость товара', count: 'Количество товара цифрой' };

function issueApplicationPosCreditOpen() {
    poscreditServices('creditProcess', accessID, { order: 'Номер заказа в вашем магазине, возможно передавать всегда одинаковое значение', products: productsList, phone: '' }, function(result){
          if(result.success === false){
               alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...');
          }
    });
}
</script>

<input type="button" value="Оформить в кредит" onclick="issueApplicationPosCreditOpen()" />