Проверка статуса waOrder

Добрый день, реализую новый плагин оплаты. Создавая его через waFactory в callbackHandler (При обращении из ПС) - как получить зстатус заказа и убедиться что заказ еще не удален?
В других методах оплат такой проверки нет.

7 ответов

  • 0
    Владислав Горлов Webasyst 29 октября 2013 10:19 #
    Есть: wa-plugins/payment/yandexmoney/lib/yandexmoneyPayment.class.php:125
    switch ($transaction_data['type']) {
    case self::OPERATION_CHECK:
    $app_payment_method = self::CALLBACK_CONFIRMATION;
    $transaction_data['state'] = self::STATE_AUTH;
    break;
    ...
    • 0
      Еще раз повторюсь - нужно получить статус заказа при запросе от ПС, а не установить его в
      $transaction_data['state'] = self::STATE_AUTH;
      и сохранить! Не shop-script должен знать о том, что ПС делал запрос check, а ПС должна знать - готов ли еще магазин принять оплату от ПС.
      Для этого в запросе check от ПС мне надо знать - не изменил ли статус заказа оператор на отменен или не удалил ли он его.
  • 0
    Леонид Вакуленко Webasyst 30 октября 2013 13:51 #
    Нет сейчас такого интерфейса между плагином оплаты и приложением. Плагин не может узнать статус заказа. Даже если бы и мог, что плагину скажет status_id? Мало ли что этот статус в приложении означает. Даже в Магазине теоретически можно всяких статусов сколько угодно насоздавать. Не говоря уже о том, что один и тот же плагин оплаты может использоваться для других приложений тоже.

    Но случай, похоже, действительно легитимный и требует обдумывания...
    • 0
      Дмитрий (BNP) Дмитрий (BNP) 30 октября 2013 16:36 #
      Минутку. Как это плагин не может знать статус заказа? А state_id, который передается через $params?
      И даже если это передается только для определенных хуков, что мешает дернуть этот статус напрямую из базы и потом расшифровать его через:
      $workflow = new shopWorkflow();
      $state = $workflow->getStateById(state_id);
      • 0
        Леонид Вакуленко Леонид Вакуленко Webasyst 31 октября 2013 00:38 #
        Платёжный модуль не может расчитывать, что к нему обращается именно приложение shop. Ну то есть может, но в магазин вебасиста он модерацию тогда не пройдёт. Если вы себе на сайт делаете - пожалуйста, сколько угодно.
      • 0
        Владислав Горлов Владислав Горлов Webasyst 31 октября 2013 02:31 #
        Плагин оплаты может рассчитывать только на данные, явно декларированные в классе waOrder при формировании формы оплаты.
        Поскольку вызывать форму оплаты может любое приложение, реализовавшее необходимые для использования платежных плагинов интерфейсы.
    • 0
      Добрый день, Леонид! Что-то из-менилось во взаимодействии Плагина оплаты и Приложения Магазин? Появилась ли возможность получить из плагина действительный статус заказа?

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

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