Как подружить Яндекс Кассу с Shopkeeper3?
Приветствую! Погуглил инфу и не нашел дельного ответа на свой вопрос. Пишу сюда, в надежде что кто-нибудь поможет мне.
Итак. Есть сайт. Стоит задача сделать форму бронирования услуги на сайте. По клику на кнопку товара забронировать всплывает форма, далее после заполнения всех полей и нажатия по кнопке отправить это все дело должно редиректиться на платежную платформу Яндекса. НО перенаправления не происходит. В логах пусто.
Шаблон карточки товара:
Итак. Есть сайт. Стоит задача сделать форму бронирования услуги на сайте. По клику на кнопку товара забронировать всплывает форма, далее после заполнения всех полей и нажатия по кнопке отправить это все дело должно редиректиться на платежную платформу Яндекса. НО перенаправления не происходит. В логах пусто.
Шаблон карточки товара:
<div class="column">
<div class="sc-top-event-item shk-item" data-equalizer-watch>
<a class="sc-bl" href="[[+link_attributes:is=``:then=`[[+uri]]`:else=`[[+link_attributes]]`]]">
<img class="lazy" title="[[+pagetitle]]" alt="[[+pagetitle]]" data-original="[[+tv.PageImage]]" height="180" width="289">
</a>
<div class="sc-top-event-time">[[+tv.datebegin:date=`%e %b`]] [[+tv.dateend:date=`- %e %b`]]</div>
<div class="sc-top-event-price">[[+tv.price]] руб.</div>
<div class="sc-top-event-title">[[+pagetitle]]</div>
<ul class="no-bullet sc-top-event-groups">
[[!pdoPage ?
&includeTVs=`datebegin`
&includeContent=`1`
&select=`uri,pagetitle`
&parents=`[[+id]]`
&limit=`0`
&tpl=`groups.tpl`
&sortby=`datebegin`
&sortdir=`ASC`
]]
</ul>
<a aria-controls="subscribeModal" aria-haspopup="true" class="button" data-toggle="subscribeModal" tabindex="0" data-idtovar="[[+id]]" >Забронировать место</a>
<div class="sc-top-read"><a class="sc-top-event-link" href="[[+link_attributes:is=``:then=`[[+uri]]`:else=`[[+link_attributes]]`]]">Подробнее</a></div>
<div class="sc-top-item-line"></div>
</div>
</div>Форму с корзиной вызываю так:<div class="reveal" id="subscribeModal" data-reveal data-vOffset=0 data-vOffset=30>
[[!Shopkeeper3@cart_catalog]]
[[!AjaxForm?
&form=`tpl.AjaxForm`
&snippet=`FormIt`
&hooks=`spam,shk_fihook,YandexMoneyHook,email,FormItAutoResponder`
&submitVar=`order`
&emailTpl=`shopOrderReport`
&emailSubject=`В интернет-магазине "[[++site_name]]" сделан новый заказ`
&emailTo=`info@blabla.ru`
&emailFrom=`info@blabla.ru`
&fiarSubject=`Вы сделали заказ в интернет-магазине "[[++site_name]]"`
&fiarTpl=`shopOrderReport`
&fiarFromName=`[[++site_name]]`
&_fiarReplyTo=`[[++emailsender]]`
&fiarToField=`email`
&fiarReplyTo=`info@blabla.ru`
&fiarSender=`info@blabla.ru`
&emailTpl=`tpl.email`
&validate=`agree:required,email:required,fullname:required,phone:required:regexp="^\+7\s\(\d{3}\)\s\d{3}\s\d{2}\s\d{2}$",course:required,g-recaptcha-response:required`
&validationErrorMessage=`В форме содержатся ошибки!`
&successMessage=`Сообщение успешно отправлено`
&phone.vTextRequired=`Укажите Ваш телефон`
&errTpl=`<br /><span class="error">[[+error]]</span>`
]]
<!--- info@blabla.ru, spam,shk_fihook,recaptchav2,FormItIsChecked,email,FormItAutoResponder,YandexMoneyHook,FormItSaveForm--->
<button class="close-button" data-close aria-label="Закрыть" type="button"><span aria-hidden="true">×</span></button>
</div>Для добавления товара повесил обработчик на кнопку «Забронировать место»$('.button').click(function(){
var idtovar = $(this).attr('data-idtovar');
SHK.fillCart(idtovar,1);
});Для того чтобы содержимое корзины обновлялось при клике на кнопку — добавил function SHKloadCartCallback(){
SHK.refreshCart();
}Кто подскажет что? Комментарии: 16
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Подключил Яндекс кассу, форма с корзиной на Ajax.
При нажатии на кнопку отправить перенаправление на платежную систему Яндекс не происходит.
Автор, удалось разобраться в чем дело и решить проблему?
на
а так же нужно поменять строки в обработчике connector_result.php
Откорректировал дополнительно следующие файлы:
assets/components/yandexmoney/connector_result.php
core/components/yandexmoney/model/yandexmoney.class.php
(!) в последнем файле необходимо заменить все элементы
на
Откорректировал дополнительно следующие файлы:
assets/components/yandexmoney/connector_result.php
core/components/yandexmoney/model/yandexmoney.class.php
(!) в последнем файле необходимо заменить все элементы SHKorder на shk_order
core/components/yandexmoney/model/yandexmoney.class.php
а так же менял параметр в функции addPackage, там где стоял shopkeeper просто добавлял цифру 3
и пути прописывал
1.0.4-pl
assets/components/yandexmoney/connector_result.php
core/components/yandexmoney/model/yandexmoney.class.php
по дефолту было
а это не совсем то, что в комментарии Романа. У вас не так было? Я везде поменял на
и заменил все остальные элементы SHKorder на shk_order, но все равно не пашет.
Может быть надо поменять
на
и
на
или я что-то еще упускаю? Заранее благодарю за ответ.
core/components/yandexmoney/model/yandexmoney.class.php
эти файлы редактировали?
MODX Revolution 2.7.1-pl
shopkeeper3 3.2.7-pl3
yandexmoney 1.0.4-pl
Вывожу через Formit.
Сниппет: shk_fihook
assets/components/yandexmoney/connector_result.php
Не помню, вносил ли правки но кину сюда же
core/components/yandexmoney/model/yandexmoney.class.php