Перенаправление на frontend URL с POST После внешней оплаты


Перенаправление на frontend URL с POST После внешней оплаты

28.01.2020 12:43:24 Просмотров 43 Источник

Мое приложение VueJS опирается на серверную часть Java. Этот сервер Java обслуживает все конечные точки REST для предоставления данных.

Когда пользователь выполняет проверку, серверная часть отвечает url-адресом перенаправления и перенаправляет пользователя на этот URL-адрес. Это делается просто так:

window.location.href = redirectUrl;

Как только процесс оплаты завершен на внешней странице, поставщик платежей перенаправляет пользователя на return_url, который в данном случае является моим интерфейсом VueJS. Однако внешняя система отправляет return_urlв POST-запросе непосредственно на передний конец,который не может быть обработан в качестве прослушивания конечной точки.

Каков был бы соответствующий способ справиться с этим? Насколько мне известно, VueJS не имеет возможности принимать почтовые запросы.

У вопроса есть решение - Посмотреть?

Ответы - Перенаправление на frontend URL с POST После внешней оплаты / Redirect to frontend URL with POST after external payment

Harshal Patil

28.01.2020 01:26:37

TLDR; это ответственность любой внешней платежной системы шлюза или подобной системы, как OAuth / OpenID, чтобы перенаправить на вызывающее приложение через простые перенаправления браузера (через HTTP 302 и 303). Таким образом, вы должны попросить/настроить внешнего поставщика платежей следовать стандартному рабочему процессу.

Теоретически, вы никогда не должны столкнуться с этой проблемой, поскольку POST обычно является запросом Ajax. Представьте, что вы находитесь на внешней платежной странице, и когда платеж завершается успешно, внешний JS делает почтовый вызов, и, следовательно, платежная страница должна затем взять на себя ответственность за перенаправление на соответствующую страницу, прочитав ответ.

Теперь, вторая возможность заключается в том, что платежная страница использует традиционную форму подачи через тип метода POST и дает ответ в виде JSON или эквивалентного тела. В этом случае у вас должен быть сценарий на стороне сервера (на вашем ui-сервере), который будет прослушивать этот вызов, а затем загружать переднее приложение, построенное с помощью Vue.

Если ваш пользовательский интерфейс обслуживается Java back-end, то это должна быть простая работа с Servelet или JSP .

https://stackoverflow.com/questions/59945923/redirect-to-frontend-url-with-post-after-external-payment/59946658#comment106013511_59946658
Это именно то, что я понимаю. Наш пользовательский интерфейс является приложением VueJS, то есть он не обслуживается бэкендом, но полностью работает как JS в браузере пользователя. Поэтому подача формы по почте, конечно, не может работать. Думаю, мне придется связаться с поставщиком платежей, как вы и предлагали.
Помочь в развитии проекта:
Закрыть X