外部付款后重定向到带有 POST 的前端 URL



我的VueJS应用程序依赖于Java后端。此 Java 后端为所有 REST 端点提供服务,以提供数据。

当用户执行结帐时,后端会使用重定向 URL 进行响应,并将用户重定向到该 URL。这是简单地完成的:

window.location.href = redirectUrl;

一旦支付过程在外部页面上完成,支付提供商就会将用户重定向到一个return_url,在这种情况下是我的 VueJS 前端。但是,外部系统将POST请求中的return_url直接发送到前端,由于没有端点侦听,因此无法在其中进行处理。

处理这个问题的合适方法是什么?据我所知,VueJS 没有任何可能接受 POST 请求。

TLDR;任何外部支付网关系统或类似系统(如OAuth/OpenID(都有责任通过简单的浏览器重定向(通过HTTP 302和303(重定向到呼叫应用程序。因此,您应该要求/配置外部支付提供商以遵循标准工作流程。

理论上,您永远不会遇到此问题,因为 POST 通常是 Ajax 请求。假设您在外部付款页面上,当付款成功时,外部JS正在进行POST调用,因此付款页面应负责通过阅读响应重定向到相应的页面。

现在,第二种可能性是支付页面通过POST方法类型使用传统的表单提交,并以 JSON 或等效正文的形式返回响应。在这种情况下,你应该有一个服务器端脚本(在你的 ui-server 上(来侦听这个调用,然后加载使用 Vue 构建的前端应用程序。

如果你的UI是由Java后端提供的,那么拥有一个ServletJSP应该是一件简单的工作。

相关内容

最新更新