Я создал внешний (форма перенаправления) модуль платежного шлюза Drupal 8 для Opayo.co.uk. следуя документации по коммерции Drupal.
Проблема: мой пользовательский модуль внешнего платежного шлюза, основанный на перенаправлении формы, отлично работает на свежем сайте Drupal 8 Commerce с потоком оформления заказа по умолчанию.
ответ от платежного провайдера получен на этих концах:
/checkout/ИДЕНТИФИКАТОР ЗАКАЗА/оплата/возврат
(при успешной оплате)
/checkout/ИДЕНТИФИКАТОР ЗАКАЗА/оплата/отмена
(при неудаче)
-> Но в существующей системе коммерческого бронирования D8 (с переопределенным потоком оформления заказа с использованием пользовательского модуля), когда пользователь возвращается от платежного провайдера со строкой ответа, возникает петля перенаправления между системой бронирования и платежной формой платежных провайдеров.
Ответ от провайдера не доходит до плагина моего модуля, где функции onReturn() и onCancel() будут обрабатывать ответ.
Цикл перенаправления происходит по пути /checkout/ORDER-ID/payment/
где пользователь, наконец, нажимает кнопку «Оплатить и завершить покупку», а данные обрабатываются на панели «Процесс оплаты».
-> Я могу обнаружить, что настраиваемый модуль проверки создает подписчика событий, который действует при каждой загрузке страницы и проверяет параметры URL-адреса проверки.
Любая помощь высоко ценится, и спасибо, что прочитали это.