FAQ - часто задаваемые вопросы и ответы Система оплаты - модуль WebCash

Развернуть все

Как сделать отдельные шаблоны для страниц, где будет выводится сообщения после оплаты через платежный шлюз?
Ответ:

В папке "\templates\ВАШ_ШАБЛОН\DEMO\" находятся три шаблона, их необходимо скопировать в папку "\templates\ВАШ_ШАБЛОН\modules\webcash\" (прежний файл "checkout_index.tpl" будет перезаписан). После этого содержимое шаблона "checkout_success.tpl" будет отображаться при успешной оплате, а "checkout_error.tpl" - при ошибке при оплате через платежный шлюз.



При установке плагина появилась ошибка 500, в чем причина?
Ответ:

Скорее всего две причины, или был сбой при копировании файлов при установке или версия Webcash старая и не соответствует плагину. Первым делом при 500 ошибке надо включить отображение ошибок, чтобы понять причину. Для этого можно в файле "\engine\modules\webcash\init.php" расскомментировать строку:
//@ini_set('display_errors', true);

Пример. После включения показа ошибок появилось сообщение "Fatal error: Uncaught Error: Call to undefined method WebCash\Plugins_PayChangeNewsCategory::getThemeDirUrl() in...". Это значит, что функция "getThemeDirUrl()" необъявлена, необходимо обновить модуль Webcash. Как вариант, не переустанавливая этот модуль, можно поискать поиском по файлам инсталлятора Webcash (скачанного и распакованного на компьютер), где находится объявление этой функции и попробовать скопировать найденный файл из инсталлятора на сайт. Перед этим лучше сделать бекап хотя бы папки модуля "\engine\modules\webcash\". Поиском по файлам Webcash объявление отсутствующей функции находим в файле "\engine\modules\webcash\classes\addonsettings.class.php".  Можно попробовать скопировать данный файл из инсталлятора по пути - "\webcash_install\files\engine\modules\webcash\classes\addonsettings.class.php" на сайт, то есть, обновить файл "\engine\modules\webcash\classes\addonsettings.class.php"

В папке "\webcash_install\files\" такая же структура файлов модуля, что и на сайте.



Как убрать на странице модуля на сайте кнопку определенного плагина?
Ответ:

Можно в файле "\templates\ВАШ_ШАБЛОН\modules\webcash\main_index.tpl" код:
{% for item in main_index_topmenu %}
    <li>
        <a href="{{ item.url }}" class="wc-button-link {{ item.class }}" title="{{ item.title }}" {{ item.tag_part|raw }}>{{ item.encore }}</a>
    </li>
{% endfor %}

заменить на:
{% for key, item in main_index_topmenu %}
    <li>
        {% if key != 'registeringroup' %}
            <a href="{{ item.url }}" class="wc-button-link {{ item.class }}" title="{{ item.title }}" {{ item.tag_part|raw }}>{{ item.encore }}</a>
        {% endif %}
    </li>
{% endfor %}

Где "registeringroup" - это алиас плагина, кнопку которого нужно убрать.



Как я могу без оплаты настроить внешний вид страниц, где будут выводится ошибка или уведомление об успешной оплате через шлюз?
Ответ:

Можно, например, зайти в настройки платежного шлюза Webmoney, там есть примеры ссылок на эти две страницы: /index.php?do=webcash&action=checkout&step=result&success=yes&gw_alias=webmoney и /index.php?do=webcash&action=checkout&step=result&success=no. Но по сути там выводится только простое сообщение тегом: {{ message|raw }} в файле "\templates\ВАШ_ШАБЛОН\modules\webcash\checkout_index.tpl". Между тегами {% elseif step == 'result' %} и {% endif %} вы можете добавить к данному тегу нужный HTML-код, если это необходимо. Стили CSS можно добавлять, например, в "\engine\modules\webcash\site\site.css" или в CSS-файл вашего шаблона (рекомендуется).

Также можно в первой вкладке модуля в поле "Сообщение после успешной оплаты" вставить нужный HTML код.



Как принудительно сбросить настройки плагина или платежного шлюза?
Ответ:

Если не получается сбросить в админпанели настройки плагина/шлюза по кнопке "Сбросить настройки", то можно через фтп удалить в папке плагина или платежного шлюза два файла, которые оканчиваются на *.dat.php. Например, для платежного шлюза "Webmoney" это папка "\engine\modules\webcash\gateways\webmoney\", а для плагина "Платный переход в группу": "\engine\modules\webcash\plugins\changegroup\".

Это равносильно сбросу настроек плагина/шлюза, поэтому после этого придется опять его настроить. Если у вас первая вкладка настроек Webcash открывается нормально, то можно сбросить сразу настройки всех шлюзов и плагинов кнопкой "Сбросить конфигурацию дополнений", после этого их также придется заново настраивать в админпанели.



Можно ли перевести модуль на другой язык, например, на английский?
Ответ:

Вы можете попробовать перевести самостоятельно, но даже эта функция не тестировалась полностью. В папке "engine/modules/webcash/language" есть две папки "de" и "en" соответственно для немецкого и английского языков с незаполненными файлами "language.php". Если указать код нужного языка "de" или "en" в файле "engine/data/config.webcash.php" в параметре "language" http://prntscr.com/th43cy - то после посещения всех страниц, нуждающихся в переводе и при сохранении настроек, языковой конфиг-файл в соответствующей папке автоматически заполняется строками, которые необходимо перевести.

Для использования другого языка, укажите его код (название не принципиально), например: итальянский язык - "it", украинский язык - "ua", и создать папку с соответствующим названием рядом с двумя вышеупомянутымми папками "de" и "en" и с исходным (незаполненным) файлом, скопированным из папки "de" или "en".



Как обновить модуль Webcash?
Ответ:

Правильное выполнение обновления зависит от многих факторов, например от номеров установленной и актуальной версий модуля. Также может повлиять наличие установленных платных плагинов. Крайне рекомендуется всегда делать бекап перед началом обновления. Очень желательно сначала попробовать произвести обновление на тестовой копии сайта, а потом уже на действующем сайте, особенно если у вас очень старая версия модуля.

Самый действенный способ - это конечно переустановка модуля WebCash, а потом заново установить платные плагины, но иногда такой вариант не подходит из-за потери старых данных в таблицах и т.п., в этом случае, можно попробовать просто скопировать все содержимое из папки "/files/" инсталлятора модуля в корень сайта.

Если в процессе обновления сайт стал выдавать, например 500 ошибку или белую страницу, необходимо включить вывод ошибок на сайте или посмотреть в логах. Без этого вы не сможете понять, что вызывает проблему. Если вы не знаете как это сделать или где находятся логи ошибок - обратитесь к хостеру.

Если ошибка указывает на какой-то шлюз или платный плагин, то попробуйте удалить в папке шлюза (плагина) два файла с расширением *.dat.php - это равносильно сбросу настроек шлюза (плагина), поэтому после этого придется опять его настраивать. Если вы хотите сбросить настройки всех шлюзов и плагинов и если первая вкладка настроек Webcash открывается нормально, то можно воспользовать кнопкой "Сбросить конфигурацию дополнений" - https://prnt.sc/ut6RhJq51gKC , после этого их также придется заново настраивать в админке.

Если вы просто копировали файлы модуля (без переустановки), то надо удалить старый файл "\engine\data\config.webcash.cache.php", обратите внимание, что при этом стираются все старые настройки. Чтобы этого не произошло, перед копированием можно сравнить файл "\engine\data\config.webcash.php", который находится на сайте и в папке "/files/" инсталлятора, например через Total Commander и недостающие строки перенести из старого файла в новый.

Если ошибка возникает из-за отсутствия какой-то таблицы, то можно выполнить нужный запрос для создания таблицы из файла - "\webcash_install\sql\install.sql".

Как видно, при подобных работах требуются определенные навыки работы с сайтом, поэтому вы можете заказать платное обновление модуля WebCash у нас или обратиться к стороннему программисту.



Как перенести задачи из плагина "Выполнение задач по расписанию" в крон хостинга?
Ответ:

PHP скрипты можно запускать через крон с помощью утилиты "wget", например:
wget -O - -q -t 1 http://example.com/script.php

или с помощью "curl", например:
curl -O -k http://example.com/script.php

"http://example.com/script.php" - это просто пример ссылки скрипта, вместо него надо конечно указать ссылку на нужный скрипт, не забывая указать протокол "http://" или "https://", который используется на вашем сайте, например, для плагина "Заработок на активности", пишем так:
wget -O - -q -t 1 https://example.com/index.php?do=webcash&action=plugin&alias=activityearn&subaction=move_sum_to_balance
или так:
curl -O -k https://example.com/index.php?do=webcash&action=plugin&alias=activityearn&subaction=move_sum_to_balance

Можно запускать и с помощью PHP-интерпретатора, примерный вид такой:
/usr/bin/php /var/example.com/script.php
но в этом случае вам надо будет узнать путь к PHP-интерпретатору, у вас на хостинге он может быть не "/usr/bin/php", и указывать абсолютный путь к исполняемому скрипту. Если возникнут затруднения - всегда можно обратиться к хостеру, для него это дело пары минут, так как он лучше знает настройки сервера. Например, для "wget" может тоже понадобится указывать полный путь к нему, типа: /usr/bin/wget



Использую только оплату PayPal, и мне на счет деньги поступают, но на сайте они не появляются, в истории транзакций написано Статус: Не завершен, что делать?
Ответ: Скорее всего ваш хостинг блокирует уведомления от Paypal. Напишите хостеру, пусть посмотрит по логам, приходят ли уведомления по адресу /index.php?do=webcash&action=gateway_processing&gw_alias=paypal. Если используется Cloudflare или подобный сервис от DDOS-атак, то он тоже может блокировать уведомления. Чтобы проверить эту версию, можно временно отключить Cloudflare и попробовать провести платеж на сайте, если в этот раз платеж завершится успешно, то настройте, чтобы DDOS-блокировка не срабатывала для адресов, которые начинаются с https://example.com/index.php?do=webcash&action=gateway_processing&gw_alias=. Все платежные шлюзы обращаются по этому начальному, адресу, например:
Юмани - https://example.com/index.php?do=webcash&action=gateway_processing&gw_alias=yandexmoney
Qiwi - https://example.com/index.php?do=webcash&action=gateway_processing&gw_alias=qiwi
Enot - https://example.com/index.php?do=webcash&action=gateway_processing&gw_alias=enot
При затруднениях, можно обратиться с этой просьбой к хостеру.

Как вывести баланс пользователя на страницах сайта?
Ответ:

В нужном месте в нужном шаблоне, например в «main.tpl» можно вставить {include file="/engine/modules/webcash/site/showbalance.php"} Чтобы вывести в профиле - в "userinfo.tpl" необходимо вставить этот же код {include file="/engine/modules/webcash/site/showbalance.php"}. Обратите внимание, что если баланс нулевой - по умолчанию он не отображается.