Вопросы про плагину оплаты

В процессе разработки плагина оплаты возникли следующие вопросы (используется дистрибутив http://www.webasyst.com/download/framework/shop/)

1. При возврате от платёжной системы в callback* методах не цепляются настройки плагина (т.е. в settings.php указан 'shopId', в методе payment видно его значение, в callbackInit/callbackHandler - нет). В чём может быть ошибка?
2. Возможно ли и как прописать требования к наличию soap и openssl в файле requirements.php?
3. Есть ли возможность запустить метод плагина оплаты из скрипта по cron'у? Есть ли cron или его подобие в облаке?
4. Как получить заказ и изменить его статус по id?

4 ответа

  • 1
    1. В методе callbackInit недоступны настройки плагина - этот метод необходим для определения приложения и идентификатора плагина в приложении для инициализации хранилища настроек (в общем случае это несколько приложений и/или несколько копий плагинов модуля оплаты).
    В методе callbackHandler уже должны быть доступны настройки (если они заданы). Подробнее: http://www.webasyst.ru/developers/docs/plugins/payment-plugins/
    2. Да, но правильней на случай отсутствия soap можно использовать какую-либо библиотеку, реализующую этот протокол (пример - оплата Qiwi). openssl - указать как 'php.openssl'. Подробнее: http://www.webasyst.ru/developers/docs/basics/system-requirements/
    3. Крон доступен, но запуск
    4. А это уже забота приложения — плагин должен лишь сообщить статус заказа, а обработчик в приложении на основе этих данных добавит комментарий/сменит статус заказа.
  • 0
    1. В методе callbackInit недоступны настройки плагина - этот метод необходим для определения приложения и идентификатора плагина в приложении для инициализации хранилища настроек (в общем случае это несколько приложений и/или несколько копий плагинов модуля оплаты).
    В методе callbackHandler уже должны быть доступны настройки (если они заданы). Подробнее: http://www.webasyst.ru/developers/docs/plugins/payment-plugins/
    2. Да, но правильней на случай отсутствия soap можно использовать какую-либо библиотеку, реализующую этот протокол (пример - оплата Qiwi). openssl - указать как 'php.openssl'. Подробнее: http://www.webasyst.ru/developers/docs/basics/system-requirements/
    3. Крон доступен, но запуск
    4. А это уже забота приложения — плагин должен лишь сообщить статус заказа, а обработчик в приложении на основе этих данных добавит комментарий/сменит статус заказа.
    • 0
      3. но запуск обработчиков плагинов оплаты/доставки пока не предусмотрен. Есть случаи, когда он может потребоваться (Assist), но это не лучшая практика.
  • 0
    Спасибо за ответ. Возник ещё один вопрос - при выбросе waPaymentException получаю Unable to load template file 'templates/actions/payments/Payments.html'. Этот файл должен присутствовать в теме default или же я должен создать его самостоятельно?
    • 0
      Используемый шаблон для платежного плагина по умолчанию wa-system/webasyst/templates/actions/payments/Payments.html
      Подозреваю, что вы могли инициализировать приложение из плагина явно (что неправильно) и в этом случае пути для шаблонов ведут в директорию приложения.
  • 0
    Но в wa-system/webasyst/templates/actions у меня нет директории payments. Есть только api, backend, forgot, login и oauth

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите