Виджет Яндекс кассы, почему при повторной попытке вызвать виджет возникает ошибка window.YandexCheckout is not a constructor?
Добрый день!
Возникла следующая проблема. Подключили стандартный виджет Яндекс.Кассы в Битриксе. Если клиент сделал заказ и сразу его оплатил через виджет, проблем с последующим вызовом не возникает.
Если же клиент сделал заказ, дошел до виджета и решил не платить и просто ушел со страницы и создал новый заказ, при попытке оплатить новый заказ виджет уже не появляется, а в консоли возникает эта ошибка window.YandexCheckout is not a constructor.
Я так понимаю, что проблема в том, что виджет был объявлен ранее. Как можно исправить эту ошибку?
сайт хотя бы скинь, а то не поймешь. Стандартный виджет Яндекс.Кассы - это всмысле платежная система?
А вцелом window.YandexCheckout is not a constructor значит что ты создаешь объект этого класса - new - а класса такого нет
Да, платежная система Яндекс Кассы, но появляется она прямо на страницах сайта в iframe. Класс такой есть, просто проблема именно в повторной инициализации виджета, предыдущий не очистили, а создаем новый объект с таким же именем. Чуть ниже написала, что нарыла в документации. Проблема оказалась в этом.
Кажется, нашла проблему. Суть в том, что в битриксе создается экземпляр класса YandexCheckout, но там не предусмотрено удаление платежной формы из контейнера, если пользователь решил что-то поменять или создать новый заказ.
Из документации - checkout.destroy(); В Битриксе экземпляр создается без него. https://yookassa.ru/developers/payment-forms/widget