В 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) |
Прямо в консоли выполните poscreditServices, посмотрите получится нет не alert, аргументы только заполните нужные.
|
Вложений: 2
Если выполнить
poscreditServices('paymentCalculation', accessID, {products: ProductList});, тогда алерт не выскакивает, но форма всё равно не подгружается (скрин 7) Так выглядит результат в консоли(скрин 6) |
Цитата:
|
Rise, Вы имеете ввиду выполнить
poscreditServices('paymentCalculation', accessID, { products: ProductList }, function(result){ if(result.success === false){ alert('Произошла ошибка при попытке оформить кредит. Попробуйте позднее...'); } });? Если да, то в таком случае алерт выводится. |
Доступ верный, ключ, адрес сайта? Не знаю насколько это важно, но по мануалу цена должна быть FLOAT, т.е. число, а у вас строка.
|
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 |
Цитата:
|
Часовой пояс GMT +3, время: 12:26. |