外部付款后,通过POST重定向到前端URL

时间:2020-01-28 09:43:24

标签: vue.js redirect callback

我的VueJS应用程序依赖于Java后端。该Java后端为所有REST端点提供数据。

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

window.location.href = redirectUrl;

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

如果您的UI是通过Java后端提供的,那么拥有 Servelet JSP 应该很简单。

相关问题