Новая вкладка по кнопке [Оформить] без редиректа

Вопрос по Оформлению заказа — minishop2 — делает перезагрузку или что-то вроде того, плюс mspSberbank — делает редирект, получается как бы двойной редирект. Плюс заказ статус новый — ОК, но суть в уведомление на экран ещё до того как клиент оплатил, парадокс.

Имеется ссылка в response formUrl, которую генерирует sberbank.class.php: 270) [miniShop2:Sberbank], но что прописать в колбэк?
<script>
$('button.ms2_link').click(function() {
    if (typeof miniShop2 !== "undefined"){
        miniShop2.Callbacks.add('Order.submit.response.success', 'orders_add_ok', function (response) {
            window.open(
                response.formUrl, // тут Бланк открывается, но formUrl как получить? Из-за редиректов разобрать response Order не получается
                '_blank'
            );
        });
    }
});
</script>
R2m0x94 (Vasily)
20 сентября 2023, 22:23
modx.pro
604
0
Поблагодарить автора Отправить деньги

Комментарии: 9

Артур Шевченко
21 сентября 2023, 10:27
0
Ссылки на оплату в JS нет, редирект делает на сервере. Непонятно что вас не устраивает? Клиент оформляет заказ, получает уведомление об успешном оформлении, его перекидывает на страницу оплаты, после оплаты перекидывает на страницу которую вы указали в настройках mspSberbank
    R2m0x94 (Vasily)
    21 сентября 2023, 10:45
    0
    Нет, Артур есть в response formUrl, о чем пишет лог ошибок, а вот как его получить в колбеке response data Order вопрос.

    Ну хорошо, как хотябы в панеле разработчика не дать редирекнутся, чтобы найти в console.log(response) эту ссылку?

    Да, и Артур mspSberbank возвращает ссылку на оплату иначе, как программировать оплату и её обрабатывать, если бы её не было я бы не задавал вопрос. Спасибо
      Артур Шевченко
      21 сентября 2023, 11:00
      -1
      Я не знаю, что лежит в formUrl, но вот тут очевидно, что редирект происходит на сервере. Если вы хотите изменить эту логику расширяйте обработчик заказа. Как это сделать написано в документации к minishop2.
        R2m0x94 (Vasily)
        24 сентября 2023, 22:06
        -1
        Как знать, редирект все равно сработал, получается нюанс не 2, а 3 редиректа. Не помогло.
          R2m0x94 (Vasily)
          26 сентября 2023, 22:01
          0
          Возможно, Артур, Вы имели ввиду в этих строчках очевидно, а не в одной?
            Артур Шевченко
            26 сентября 2023, 22:17
            0
            Я указал на строку, которая выполняется при условии, что выбран способ оплаты с собственным обработчиком, возвращающим ссылку на оплату. И выбрал я эту строку потому, что там вызывается метод sendRedirect, который своим названием явно даёт понять, что делает переадрессацию. Ты же выделил ещё и строки, которые срабатывают при других условиях, хотя изначально разговор был про ссылку на оплату и как её получить в JS.
    R2m0x94 (Vasily)
    27 сентября 2023, 07:50
    0
    У кого ещё есть какие идеи?
      R2m0x94 (Vasily)
      02 октября 2023, 20:12
      0
      Мистика, но response.data.redirect был единственный вариант, так как туда Сбер отправлял ссылку.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9