Как проверяется валидность плагина оплаты в SS7?

Опять у меня проблема с новым ShopScript 7. Теперь с плагином оплаты. Выражается она в том, что у некоего клиента на стерильной установке ShopScript 7 (с нуля) при оформлении заказа плагин оплаты не доступен с сообщением "Оплата выбранным способом не может быть обработана, потому что требуемая валюта не определена в настройках магазина" . Однако в настройках плагина и магазина заданы рубли. Что ещё странно, так то, что при обновлении с ss6 на ss7 этой ошибки нет.

Документация по плагину оплаты традиционно скудна до безобразия, но в других плагинах оплаты углядел публичный метод allowedCurrency предположительно который что-то должен сообщать. Причём в одних возвращается true, в других 'RUB', а самые извращенные строят конструкцию типа return array_keys(array_filter(array_map('intval', $this->currency)));

В своём нагло сдралоскопировал последний вариант.

И теперь сами вопросы. Их два.

Первый - как webasyst на самом деле решает что та или не та валюта плагина оплаты?

Второй - кто должен выяснять, почему перестало работать в SS7? На мой взгляд здесь проблема обновления движка и магазина. Однако суппорт уверенно убеждает покупателя, что это проблема моя, как разработчика.

2 ответа

  • 2

    true — плагин оплаты согласен обработать любую валюту (это оплата наличными, либо "приличные" платежные шлюзы, которые понимают практически все валюты и умеют при необходимости сами конвертировать).

    Фиксированное значение или их массив — плагин понимает только явно указанные коды валют.

    Вариант с "конструкцией" предполагает, что есть настройка currency в виде ассоциативного массива, где ключи - код валют, а значение - признак того, что плагин их обрабатывает. Соответственно стоит убедиться, что у вашего плагина в его настройках отмечена хотя бы одна валюта, что есть в магазине.

    • +1

      И если плагин формирует правильный ассоциированный массив (проверено отладочным выводом) и в настройках магазина основная валюта указана верно и та же, что и в плагине то куда ещё смотреть стороннему разработчику на чужом хостинге почему shopscript отказывает в методе оплаты?

  • 1

    В общем не дождавшись помощи, методом псевдонаучного перебора было выяснено, что на новом ss7, собранном с нуля, ассоциативный массив в ответе движок не устраивал. Но на проапгрейденном с ss6 он вполне работал.

    Если разработчикам это интересно (в чём по результатам прошлых сообщений об ошибках, так и не исправленных, я не уверен), то ответ

    return array_keys(array_filter(array_map('intval', $this->currency)));

    порождал отказ, а упрощённый

    return array_keys($this->currency);

    заработал.

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

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