0 Пользователей и 1 Гость просматривают эту тему.
  • 33 Ответов
  • 581 Просмотров
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Тинькофф
« : 03.04.2019, 07:09:26 »
Здравствуйте  ^-^
Подскажите как перенести форму купить в кредит от Тинькофф из карточки товара в корзину. Чтобы можно было оформлять в кредит не только один товар, но и все отложенные в корзину товары сразу

Пробовал копировать код из /product/product_default.php
Это в шапку
Спойлер
[свернуть]
И кнопку на страницу

Спойлер
[свернуть]

Кнопка появилась, но не нажимается  *ОХ-Х-Х*

Сотрудники тинькофф сказали просто скопировать ее в корзину, но я так понимаю она работает за счет того что выцепляет цену, id и кол-во товара и как то все эти показатели суммирует. А на страницы оформления корзины этих параметров нет. Так?
« Последнее редактирование: 03.04.2019, 07:46:29 от Indexxx »
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #1 : 03.04.2019, 17:59:34 »
Неужели никто не может что нибудь посоветовать?
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #2 : 03.04.2019, 18:38:16 »
А что советовать, если вы даже сайт свой не показали?
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #3 : 04.04.2019, 05:34:06 »
А что советовать, если вы даже сайт свой не показали?
Вот как выглядит кнопка Тинькофф "купи в кредит" в карточке товара
ссылка на страницу
Спойлер
[свернуть]
Нужно сделать такую же или совсем перенести ее в корзину, чтобы можно было разом оформлять для всех набранных товаров
Подскажите как это можно реализовать?
*

effrit

  • Легенда
  • 9500
  • 1042 / 11
  • effrit.com
Re: Тинькофф
« Ответ #4 : 04.04.2019, 06:10:23 »
оффтоп:
если это ваш сайт, то у вас проблемы - при большом списке товаров категории включается глючный скрипт прокрутки и блокирует нажатие на товар.
по крайней мере, в лисе
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #5 : 04.04.2019, 10:17:14 »
Корзина у вас статичная (кол-во в ней поменять нельзя), а значит и форму для кнопки "купить в кредит" можно сформировать статично и не прикручивать никаких скриптов. Форму разумнее всего сделать в макете корзины. Кнопку отправки сделать обычным сабмитом. Ид магазина и сумма - общие поля, остальные (производитель, название, кол-во, цена) добавляются для каждого товара с добавлением индекса (в цикле). Получится что-то вроде:
Код
<form action="https://loans.tinkoff.ru/api/partners/v1/lightweight/create" method="post" id="buyToCredit">
    <input name="shopId" value="cao-ufa" type="hidden"/>
    <input name="sum" value="78230.000000" type="hidden" id="sum">
    <input name="itemVendorCode_0" value="1899" type="hidden"/>
    <input name="itemName_0" value="Тележка гидравлическая г/п 700 кг. для снятия колес грузовых автомобилей" type="hidden"/>
    <input name="itemQuantity_0" value="1" type="hidden" id="itemQuantity_0"/>
    <input name="itemPrice_0" value="78230.000000" type="hidden"/>
    <input name="itemVendorCode_1" value="234" type="hidden"/>
    <input name="itemName_1" value="Второй товар" type="hidden"/>
    <input name="itemQuantity_1" value="3" type="hidden" id="itemQuantity_0"/>
    <input name="itemPrice_1" value="7823.000000" type="hidden"/>
     .......
    <button type="submit" class="btn btn-primary">Купить в кредит</button>
</form>

P.S. Проблему с "ползущей" блокирующей прокруткой в каталоге подтверждаю.
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #6 : 04.04.2019, 18:54:58 »
Корзина у вас статичная (кол-во в ней поменять нельзя), а значит и форму для кнопки "купить в кредит" можно сформировать статично и не прикручивать никаких скриптов. Форму разумнее всего сделать в макете корзины. Кнопку отправки сделать обычным сабмитом. Ид магазина и сумма - общие поля, остальные (производитель, название, кол-во, цена) добавляются для каждого товара с добавлением индекса (в цикле). Получится что-то вроде:
Код
<form action="https://loans.tinkoff.ru/api/partners/v1/lightweight/create" method="post" id="buyToCredit">
    <input name="shopId" value="cao-ufa" type="hidden"/>
    <input name="sum" value="78230.000000" type="hidden" id="sum">
    <input name="itemVendorCode_0" value="1899" type="hidden"/>
    <input name="itemName_0" value="Тележка гидравлическая г/п 700 кг. для снятия колес грузовых автомобилей" type="hidden"/>
    <input name="itemQuantity_0" value="1" type="hidden" id="itemQuantity_0"/>
    <input name="itemPrice_0" value="78230.000000" type="hidden"/>
    <input name="itemVendorCode_1" value="234" type="hidden"/>
    <input name="itemName_1" value="Второй товар" type="hidden"/>
    <input name="itemQuantity_1" value="3" type="hidden" id="itemQuantity_0"/>
    <input name="itemPrice_1" value="7823.000000" type="hidden"/>
     .......
    <button type="submit" class="btn btn-primary">Купить в кредит</button>
</form>

P.S. Проблему с "ползущей" блокирующей прокруткой в каталоге подтверждаю.
Поместил код в /checkout/adress.php
Спойлер
[свернуть]
Вот что показывает при нажатии (можете посмотреть на сайте?)
Пишет - "Общая цена всех позиций заказа должна быть равна значению в поле sum"
Я вижу значения для атрибутов value заполнены из карточки товара "инструментальной тележки" Но мне же нужна универсальная форма для всех товаров
« Последнее редактирование: 04.04.2019, 19:08:45 от Indexxx »
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #7 : 04.04.2019, 18:59:12 »
оффтоп:
если это ваш сайт, то у вас проблемы - при большом списке товаров категории включается глючный скрипт прокрутки и блокирует нажатие на товар.
по крайней мере, в лисе
К сожалению ни в одном браузере и ни на одном компьютере на которых смотрел эту проблему не могу найти. На всех страницах каталога по умолчанию выводится 24 товара. Возможно вы можете подсказать как я могу смоделировать эту ошибку? Или как ее решить?
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #8 : 04.04.2019, 22:30:04 »
Вот что показывает при нажатии (можете посмотреть на сайте?)
Пишет - "Общая цена всех позиций заказа должна быть равна значению в поле sum"
Я вижу значения для атрибутов value заполнены из карточки товара "инструментальной тележки" Но мне же нужна универсальная форма для всех товаров
Это был пример.... Если готовое решение, то добавьте вот этот JS код на страницу с корзиной (именно с корзиной в каталоге, а не на этап оформления заказа! это важно!):
Код
jQuery(function(){
    var form = jQuery('<form/>').attr({action: 'https://loans.tinkoff.ru/api/partners/v1/lightweight/create', method: 'post'});
    var sum = 0;
    var idx = 0;
    jQuery('<input/>').attr({type: 'hidden', name: 'shopId', value: 'cao-ufa'}).appendTo(form);
    jQuery('.off-canvas-cart .off-canvas-cart-item').each(function(){
        var name = jQuery(this).find('.off-canvas-cart-item-title h5').text();
        var price = parseFloat(jQuery(this).find('.off-canvas-cart-item-title .cart-price').text().replace(' ', ''));
        var qty = parseInt(jQuery(this).find('.off-canvas-cart-item-title .cart-price i').text().replace(' ', ''));
        console.log(name, price, qty);
        sum += price * qty;
        jQuery('<input/>').attr({type: 'hidden', name: 'itemVendorCode_'+idx, value: ''}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemName_'+idx, value: name}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemQuantity_'+idx, value: qty}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemPrice_'+idx, value: price}).appendTo(form);
        idx++;
    });
    jQuery('<input/>').attr({type: 'hidden', name: 'sum', value: sum}).appendTo(form);
    jQuery('<button/>').attr({type: 'submit', class: 'btn btn-round btn-primary btn-lg btn-block text-800'}).text('Купи в кредит').appendTo(form);
    form.insertAfter('.off-canvas-cart .off-canvas-cart-footer .off-canvas-cart-control .btn');
});
В корзине рядом с кнопкой "Оформить заказ" появится кнопка "Купи в кредит".
Код проверен на странице каталога:
https://cao-ufa.ru/shinomontazhnoe-oborudovanie/balansirovochnye-stanki/gruzovye
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #9 : 05.04.2019, 05:54:49 »
Это был пример.... Если готовое решение, то добавьте вот этот JS код на страницу с корзиной (именно с корзиной в каталоге, а не на этап оформления заказа! это важно!):
Код
jQuery(function(){
    var form = jQuery('<form/>').attr({action: 'https://loans.tinkoff.ru/api/partners/v1/lightweight/create', method: 'post'});
    var sum = 0;
    var idx = 0;
    jQuery('<input/>').attr({type: 'hidden', name: 'shopId', value: 'cao-ufa'}).appendTo(form);
    jQuery('.off-canvas-cart .off-canvas-cart-item').each(function(){
        var name = jQuery(this).find('.off-canvas-cart-item-title h5').text();
        var price = parseFloat(jQuery(this).find('.off-canvas-cart-item-title .cart-price').text().replace(' ', ''));
        var qty = parseInt(jQuery(this).find('.off-canvas-cart-item-title .cart-price i').text().replace(' ', ''));
        console.log(name, price, qty);
        sum += price * qty;
        jQuery('<input/>').attr({type: 'hidden', name: 'itemVendorCode_'+idx, value: ''}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemName_'+idx, value: name}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemQuantity_'+idx, value: qty}).appendTo(form);
        jQuery('<input/>').attr({type: 'hidden', name: 'itemPrice_'+idx, value: price}).appendTo(form);
        idx++;
    });
    jQuery('<input/>').attr({type: 'hidden', name: 'sum', value: sum}).appendTo(form);
    jQuery('<button/>').attr({type: 'submit', class: 'btn btn-round btn-primary btn-lg btn-block text-800'}).text('Купи в кредит').appendTo(form);
    form.insertAfter('.off-canvas-cart .off-canvas-cart-footer .off-canvas-cart-control .btn');
});
В корзине рядом с кнопкой "Оформить заказ" появится кнопка "Купи в кредит".
Код проверен на странице каталога:
https://cao-ufa.ru/shinomontazhnoe-oborudovanie/balansirovochnye-stanki/gruzovye

Не могу понять. Что значит именно на страницу с корзиной? это куда?)
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #10 : 05.04.2019, 10:38:39 »
Не могу понять. Что значит именно на страницу с корзиной? это куда?)
Так ведь даже ссылку уже привел. На страницы, на которых у вас есть кнопка корзины с отображением содержимого. Потому что JS данные именно оттуда дергает. Можно в макете корзины добавить - я не знаю как он называется в вашем компоненте магазина (не пользуюсь таким).

Можете и на все страницы добавить (в какой-нибудь общий JS файл) - ошибки этот код давать не будет, но кнопку кредита будет добавлять только рядом с кнопкой "Оформить" в корзине.
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #11 : 05.04.2019, 10:43:31 »
И еще при переходе появляется сообщение, что ид магазина неправильный (неизвестный) хотя брал с вашей же формы в карточке.

А... В карточке при переходе то же самое выдает:
"Магазина - cao-ufa или витрины - cao-ufa не существует"
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #12 : 05.04.2019, 19:58:45 »
И еще при переходе появляется сообщение, что ид магазина неправильный (неизвестный) хотя брал с вашей же формы в карточке.

А... В карточке при переходе то же самое выдает:
"Магазина - cao-ufa или витрины - cao-ufa не существует"
Действительно кнопка в корзине появилась, когда поставил ваш код в /cart/category_default.php.
Спойлер
[свернуть]
Ошибка выходит такая же как у вас.
Вы уже сильно помогли, спасибо большое, хотя задача так и не решилась  *suicide*

Если будет время посмотрите еще один момент  !!!???!!!
Возможно я что-то напутал с id магазина, поэтому выходит ошибка
Вот "боевые параметры" которые присылал Тинькофф:
Спойлер
[свернуть]

« Последнее редактирование: 05.04.2019, 20:01:59 от Indexxx »
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #13 : 05.04.2019, 21:33:28 »
Вот "боевые параметры" которые присылал Тинькофф
Код будет вот таким:
Спойлер
[свернуть]
Но сервер все равно выдает ошибку, правда другую:
There was an internal server error.

Перешлите ее Тинькоффу - спросите в чем причина.
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #14 : 05.04.2019, 22:47:36 »
Код для вставки который дает сам тинькофф - небезопасный!
В кратце я могу купить в кредит все что угодно всего за 3500 рублей, хоть весь интернет магазин в корзину отправить и купить.
Причем в кредитном договоре будет прописано то что я купил и за какую сумму (3500р), абсурд конечно но при хороших юристах можно выйграть дело или создать максимум гемороя владельцу магазина.

Никаких HTML вставок делать не нужно хоть это и просит сам тинкофф, главное если работает то они одобряют, еще тестовый шлюз у них работает на 35% что сильно бесит, будет большой удачей если шлюз примет и отдаст ответ.

Теперь по делу, далал такое на VM3, собирал данные о товарах в корзине на бекенде, и выводил кнопку на странице корзины которая по нажатию отправляла корзину с товарами на шлюз через собранный cURL запрос... могу помочь но не бесплатно!
Адаптивная верстка, создание компонентов, PHP JS программирование
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #15 : 05.04.2019, 22:54:31 »
Код будет вот таким:
Спойлер
[свернуть]
Но сервер все равно выдает ошибку, правда другую:
There was an internal server error.

Перешлите ее Тинькоффу - спросите в чем причина.
Но ведь это значит что это внутренняя ошибка, значит не с их стороны? В понедельник узнаю
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #16 : 05.04.2019, 22:58:58 »
Код для вставки который дает сам тинькофф - небезопасный!
В кратце я могу купить в кредит все что угодно всего за 3500 рублей, хоть весь интернет магазин в корзину отправить и купить.
Причем в кредитном договоре будет прописано то что я купил и за какую сумму (3500р), абсурд конечно но при хороших юристах можно выйграть дело или создать максимум гемороя владельцу магазина.

Никаких HTML вставок делать не нужно хоть это и просит сам тинкофф, главное если работает то они одобряют, еще тестовый шлюз у них работает на 35% что сильно бесит, будет большой удачей если шлюз примет и отдаст ответ.

Теперь по делу, далал такое на VM3, собирал данные о товарах в корзине на бекенде, и выводил кнопку на странице корзины которая по нажатию отправляла корзину с товарами на шлюз через собранный cURL запрос... могу помочь но не бесплатно!
По поводу купить все за 3500. Как вы это сделаете? Если в коде будет прописан правильный скрипт
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #17 : 05.04.2019, 23:03:16 »
По поводу купить все за 3500. Как вы это сделаете? Если в коде будет прописан правильный скрипт
при помощи браузера и смекалки, щас попробую снять видео
Адаптивная верстка, создание компонентов, PHP JS программирование
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #18 : 05.04.2019, 23:35:16 »
Но ведь это значит что это внутренняя ошибка, значит не с их стороны? В понедельник узнаю
на их сервере - значит с их стороны
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #19 : 05.04.2019, 23:39:33 »
Адаптивная верстка, создание компонентов, PHP JS программирование
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #20 : 05.04.2019, 23:39:57 »
По поводу купить все за 3500. Как вы это сделаете? Если в коде будет прописан правильный скрипт
В отладчике все можно поменять. Мой скрипт вообще на лету собирает форму с данными. Поэтому, если вам требуется серьезное безопасное решение, а не для поиграться, то да, надо делать примерно как говорит SalityGEN.
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #21 : 05.04.2019, 23:43:21 »
видео будет завтра удалено, что бы не игрались
Адаптивная верстка, создание компонентов, PHP JS программирование
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #22 : 05.04.2019, 23:49:08 »
Почитал подробнее про этот АПИ Тинькова - он в принципе не имеет никакой защиты. Полностью безопасный способ перехода сделать не получится. Даже если редиректить будет ваш сервер туда - такую отправку тоже не сложно подменить.
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #23 : 05.04.2019, 23:54:35 »
 ^-^ можно сделать безопасно.
site.com - наш магазин
post.site.com - наш поддомен
tinkoff - шлюз
По такой схеме
site.com -> csrf POST -> post.site.com -> tinkoff

иными словами отправляем защищенный запрос на наш поддомен, на котором лежит скрипт который отправляет данные в шлюз
вроде так можно, таким образом защищал вебхуки битрикс24, на тинькофф так не делал
« Последнее редактирование: 05.04.2019, 23:58:22 от SalityGEN »
Адаптивная верстка, создание компонентов, PHP JS программирование
*

sivers

  • Давно я тут
  • 518
  • 55 / 0
Re: Тинькофф
« Ответ #24 : 06.04.2019, 00:04:11 »
site.com -> csrf POST -> post.site.com -> tinkoff
Это если просто запостить туда данные и все. Но если после перехода на сайт тинькффа юзера там просят дозаполнить анкету, тогда как? Или для анкеты они ему ссылку на почту шлют?
*

SalityGEN

  • Захожу иногда
  • 130
  • 4 / 0
  • Дед Лайн
Re: Тинькофф
« Ответ #25 : 06.04.2019, 00:13:08 »
Это если просто запостить туда данные и все. Но если после перехода на сайт тинькффа юзера там просят дозаполнить анкету, тогда как? Или для анкеты они ему ссылку на почту шлют?
Ну в принципе да, фигня получится, а на счет почты тоже есть веселая информация, все одобренные\отклоненные кредиты и рассрочки будут приходить ТОЛЬКО на почтовый ящик владельца магазина, что нифига не удобно и не дает полноценной автоматизации, они бы еще бумажные письма слали по месту прописки, такой крупный банк эх..
Адаптивная верстка, создание компонентов, PHP JS программирование
*

draff

  • Живу я здесь
  • 3866
  • 258 / 7
  • Ищу работу
Re: Тинькофф
« Ответ #26 : 06.04.2019, 07:30:50 »
То что в форме можно изменить данные известно всем. Но это же кредит на сумму пришедшую с магазина, а не оплата онлайн, где проводится обмен данными по подтверждению заказа в бекэенде .
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #27 : 06.04.2019, 10:48:43 »
на их сервере - значит с их стороны
Да, действительно. Сделал запрос в их тех.поддержку
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #28 : 06.04.2019, 11:08:10 »
По поводу бага прокрутки кто нибудь может подсказать как ее можно смоделировать на сайте? Я никак не могу ее найти.
Или в чем может быть причина этого? Сейчас есть некоторые ошибки в консоли. Сайт работает на старой версии библиотеки jquery, возможно в этом причина?
*

Indexxx

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Тинькофф
« Ответ #29 : 08.04.2019, 15:29:36 »
Это если просто запостить туда данные и все. Но если после перехода на сайт тинькффа юзера там просят дозаполнить анкету, тогда как? Или для анкеты они ему ссылку на почту шлют?
Сделал запрос в тинькоф - они скорректировали у себя. Сейчас работает. Спасибо  ^-^
По какой то причине некоторые товары через карточку товара не удается оформить в кредит - выдает ошибку, что якобы сумма кредита должна быть не менее 3000 руб. Хотя сам товар стоит куда больше. Пример:
Спойлер
[свернуть]
Можете подсказать в чем может быть причина?
« Последнее редактирование: 09.04.2019, 15:42:13 от Indexxx »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться