reactjs - 如何从 3rd 方 API 重定向 URL 以响应组件并接收发布/响应数据?
问题描述
我正在做一个电子商务项目。对于前端,我使用 react,对于后端,我使用 .NET Core Web API。当客户进行结账(从前端)时,他需要进行在线支付交易。因此,在结帐按钮上单击我转到我的 API,验证订单,然后使用两个参数重定向到 3rd 方支付网关,成功 URL 和失败 URL(来自前端)。然后客户进行支付,如果一切正常,支付网关将重定向到带有响应数据的成功 URL,否则重定向到失败 URL。
所以现在,我的问题是我应该如何从前端接收响应数据?
我可以在我的 WEB API 中编写一个成功方法并从中接收数据,Request.Form
但由于 API 将托管在云服务器上,并且客户将使用他自己的设备,因此显然这不起作用。
如果您可以建议我解决任何问题,那将非常有帮助。
解决方案
成功和失败 URL 是为页面到页面的 Web 流设计的,不应将它们视为来自支付网关的安全反馈,因为任何人都可以伪造此 URL。您可以将成功和失败的 URL 作为指标,通知您的网站在服务器端检查交易状态。一般来说,支付网关应该有一个用于检查交易状态的 API。
例如,当客户通过成功 URL 从支付网关重定向回您的 Web 时,您的 React Web 应用程序应在您的服务器端调用 Web API,此 Web API 应从支付网关调用 API 以检查交易状态。如果交易成功,那么您可以继续您的网络流程,否则,您应该将其视为失败的交易。
推荐阅读
- javascript - 重新加载时随机化输入 (HTML) 中的文本 (JS)
- javascript - JS 将列表作为 JS 中的字符串转换为 JSON 格式 - 这可能吗?
- c# - 静态事件 WPF MVVM 的替代方案
- python - 如何在不降低服务器速度的情况下处理多个图像上传?
- java - 如何使用 ApplicationListener ConfigurableApplicationContext 初始化的服务
- audio - 带有音频过滤的 FFmpeg 拆分过滤器会引发错误
- python - 远程:-----> Python 应用检测到远程:!请求的运行时(Python 3.6.4)不适用于此堆栈(heroku-18)
- python - List constructor for async gen
- angular - 带有 asyncValidators 的 ngx-formly:在验证运行时显示一些信息/样式
- oauth-2.0 - OAuth2 重定向 URI 可以向客户端应用程序公开授权代码吗?