добрый день. пишу плагин оплаты.
размесил его в каталоге /wa-plugins/payment/
в списке установленных отображается, при выборе способов оплаты в магазине корректно добавляется.
во фронте при покупке товара способ оплаты корретно выбрается, переход на оплату тоже происходит, после оплаты выполняется возврат.
но при этом не меняется статус заказа.
проверка показала, что функции callbackInit и callbackHandler не отрабатывают.
мог ли я что-то недоустановить, что плагин не срабатывает на события или в чем другом может быть причина?
при установке по инструкции тут https://developers.webasyst.ru/cookbook/plugins/
с размещением в wa-apps/shop/plugins/[PLUGIN]/
и
<code class="path" style="font-size: 16px; line-height: 1.4em;">добалвением в<strong>wa-config/apps/</strong>APP_ID/plugins.php</code>, строку:
'plugin_id' => true
плагин не отображается при добавлении способа оплаты
Это условие выполняется?
похоже, что нет. поставил тестовый вывод в методы payment, callbackInit и callbackHandler. в логе отразился только payment
А платежный шлюз вообще отправляет запросы на URL
Если у вас локальная установка, то платежный шлюз может не суметь отправить запрос к вашей установке.
я передавал
там было соответственно
сейчас я не передаю эти строки в запросе. а задал в настройках личного кабинета платежной сиситемы
в callbackInit теперь попадаю, но платежка пишет
Plugin not found
тепер похоже проблема аналогичная https://developers.webasyst.ru/forum/3697/plugin-n...
так и не удалось решить проблему.
параметры необходимые для платежки передаю все.
в callbackInit в массиве $request приходит
как сказано в инструкции заполняю
и вызываю функцию базового класса.
callbackHandler не вызывается.и Платежка пишет Plugin not found.
почему в принципе может возникать ошибка Plugin not found?
почему не вызывается callbackHandler?
надо ли предоставить еще какую-то инфромацию?
В плагине есть файл /lib/config/plugin.php?
Сообщение о ошибке именно так и выглядит: "Plugin not found"? Или всё-таки немного по-другому? Дайте точную цитату.
полное сообщение:
вчера создал в облаке магазин и установил платежку от webmoney (она очень схожа с той системой для которой я делаю плагин и у вас она дана как образец в инструкции по плагинам оплат)
провел оплату, но по возврату на страницу успешной оплаты. она выдала сообщение, показанное на изображении
на моем тестовом хосте тот же возврат все время. Судя по отзывам во многих плагинах неработает механизм изменения статуса.
есть какой-то плагин оплат на которы можно реально ориентироваться?
может это быть проблемой самого фреймворка?
здравствуйте. пока не получается найти решение.
подскажите тогда, пожалуйста, может таким образом.
Если плагин для вебмани считать за основу и на него ориентироваться (приводится как образец в инструкциях и, как уже писал выше, платежные системы очень схожи), то какие настройки магазина или самого же плагина должны быть, чтобы он коррректно отрабатывал?
я (на созданном в облаке вебасиста сайте) с помощью инсталлера установил плагин вебмани.в разделе shop - настройки оплата. добавил способ оплаты вебмани. в настройках плагина прописал, merchant id, номер кошелька, секретный ключ. протокол подключения - подключение к webmony, Подпись - MD5, галочка на тестовом режиме включена, sim mode
я что-то недонастроил? почему возникает ошибка скриншоте в предыдущем посте?
так и не получил ответа. когда можно ждать рекомендаций?
Михаил Ушенин писал
По тому, что я ответил выше хотя бы скажите правильно заполнен plugin.php? дает ли какую-то дополнительную информацию точное сообщение платежной системы, которое я привел?
Это сообщение отдаёт плагин webmoney, когда в запросе от платёжной системы нет полей LMI_PAYMENT_NO, wa_app или wa_merchant_contact_id.
Попробуйте добавить отладочный код в классе wa-apps/shop/lib/classes/shopPayment.class.php во всех местах, где формируется значение переменной $info, чтобы увидеть, в какую ветку сработало условие и почему значение переменной оказалось пустым (в этом случае и выбрасывается исключение Plugin not found).
Михаил, спасибо. по Plugin not found решилось. я неправильно передавал $this->merchant_id