Привет, поэтому я получаю смешанные ошибки содержимого при попытке отобразить форму сведений о карте на моей странице оформления заказа в моем приложении Symfony/Sylius. Я использую payum w/omnipay bridge для оплаты sage pay.
Причина, по которой я получаю ошибку смешанного содержимого, заключается в том, что я отправляю форму на своей родительской странице, которая отправляет токен по следующему маршруту:
payum_capture_do:
path: /payment/capture/{payum_token}
defaults: { _controller: sylius.controller.payum.capture:doAction }
# schemes: [https]
маршрут, который, в свою очередь, выполняет некоторый код для получения iFrame src. Затем ответ передается в iFrame src. На самом деле все это делается через JS, отправляя форму непосредственно в iFrame:
let form = jQuery("form[name='sylius_checkout_complete']");
if (form.length) {
form.attr('target', 'card-details');
form.submit();
}
Затем возникает проблема, потому что маршрут payum не является маршрутом https, и поэтому iFrame заблокирован от отображения содержимого из-за ошибки смешанного содержимого. Причина, по которой эта ошибка такая странная, заключается в том, что если я принудительно назначу маршрут на https (как вы можете видеть, я пробовал из комментария), он возвращается с сообщением «Слишком много перенаправлений» и приводит к сбою страницы (хотя он отображается в iFrame). ). Я думаю, это потому, что сначала он пытается использовать http, а затем https, и поскольку платеж может быть захвачен только после того, как он станет недействительным.
Любая помощь будет принята с благодарностью.