В result приходит значение false
Вложений: 1
Доброго времени суток!
Необходимо произвести интеграцию сайта с банком для покупки в кредит. Есть мануал https://api.b2otp.ru/shop/manual/: 1) Перед заполнением заявки на кредит вы можете добавить на ваш сайт предварительный расчет параметров с помощью кредитного калькулятора 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] }; Т.к. кнопка "В кредит" добавляется в карточку товара, то необходимо получить информацию об одном товаре. Получаем: var accessID = "9212"; var ProductList = new Array(); ProductList[0] = { id:'<?=$arResult['ID']?>', name:'<?=$arResult['PROPERTIES']['NAZVANIE_DLYA_SAYTA']['VALUE']?>', category:'<?=$arResult['PROPERTIES']['PROIZVODITEL']['VALUE']?>', price:'<?=$arResult['PRICES']['Розничная']['DISCOUNT_VALUE']?>' }; 2) После формирования массива данных с товарами можно вызывать функцию инициализации формы расчета параметров по кредиту poscreditServices('paymentCalculation', accessID, { products: productsList }, function(result){ if(result.success === false){ alert('Произошла ошибка запуска калькулятора. Попробуйте позднее...'); //Как возможный пример } }); Делаем: function want_credit() { poscreditServices('paymentCalculation', accessID, { products: ProductList }, function(result){ if(result.success === false){ alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'); } }); } Функцию вызываем при клике на кнопку "В кредит": <div class="form-group"> <button type="submit" onclick="want_credit();return false;" name="submitIdentity" style="background: #0a51ae;"> <span><?=GetMessage("LIKEE_ESTORE_KUPITQ_V_CREDIT")?></span> </button> </div> Но при нажатии на кнопку "В кредит" отображается предупреждение alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'). В консоли браузера в result приходит false (скрин 2). Подскажите, пожалуйста, с чем может быть связана данная проблема? Спасибо. |
Вложений: 2
Rise, ошибок связанных с новым кодом нет.
Есть только ошибка "message undefined: COMPARE_LIST" (скрин 5). Но ошибка была и до этого кода. На всякий случай вкладка "Network" (скрин 4) |
Вложений: 2
Если выполнить
poscreditServices('paymentCalculation', accessID, {products: ProductList});, тогда алерт не выскакивает, но форма всё равно не подгружается (скрин 7) Так выглядит результат в консоли(скрин 6) |
Rise, Вы имеете ввиду выполнить
poscreditServices('paymentCalculation', accessID, { products: ProductList }, function(result){ if(result.success === false){ alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'); } });? Если да, то в таком случае алерт выводится. |
Rise, доступ верный, ТП подтвердила данные.
Не знаю насколько это важно, но по мануалу цена должна быть FLOAT - можно убрать кавычки и при проверке через var_dump($arResult['PRICES']['Розничная']['DISCOUNT_VALUE'])тип float. После этого ошибка сохраняется. Если через var_dump сделать: $arResult['ID'] - тип int $arResult['PROPERTIES']['NAZVANIE_DLYA_SAYTA']['VALUE'] - string $arResult['PROPERTIES']['PROIZVODITEL']['VALUE'] - string $arResult['PRICES']['Розничная']['DISCOUNT_VALUE'] - float |
Rise, ТП доступы подтвердила.
Они прислали пример своего кода, но в нем используется другой метод (который чуть ниже в мануале). Отвечаю им, что сделано по аналогии, но ошибка. Молчат... Код, который прислали: <script src="../../($Inbox)/shop/connect.js" charset="utf-8" type="text/javascript"></script> <script> var accessID = "88"; var productsList = new Array(); <? $count_now = 0; foreach($_SESSION['cart']['products'] as $product) { for($i=0;$i<$product['quantity'];$i++) { ?> productsList[<?=$count_now?>] = { id: '308043572', name: 'Meizu M1 <?=$product['attributes']?>', category: '308043572', price: '<?=$product['price_float']?>' }; <? $count_now++; } } ?> function want_credit() { poscreditServices('creditProcess', accessID, { order: '<?=$orderId?>', products: productsList, phone: '', creditType: '0', creditTermFrom: '8', creditTermTo: '24', creditFirstPaymentFrom: '0', creditFirstPaymentTo: '50' }, function(result){ if(result.success === false){ alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'); } }); } </script> --- Кнопка вызова <div class="form-group"> <button type="submit" onclick="want_credit();return false;" name="submitIdentity" class="btn btn-default btn-md icon-right"> <span>Оформить заявку на кредит</span> </button> </div> |
Вложений: 1
Rise, в общем, как оказалось, это проблема со стороны банка.
После того, как ТП написали "Поправили настройки со своей стороны", по нажатию на кнопку стала загружаться форма расчета кредита (скрин 8) |
Часовой пояс GMT +3, время: 09:07. |