扫描二维码完成支付后,如何将react应用重定向到支付成功页面



我有一个PERN(Postgres、Express、React、Node(电子商务应用程序。我想在用户扫描二维码付款后,通过重定向到付款成功页面来通知用户付款成功。

然而,我不确定我该如何做到这一点。

目前,在用户完成付款后,我将从银行API收到REST的POST付款确认请求。然而,我也在使用GraphQL,我认为GraphQL的Subscription可能是我想要实现的。

有人知道我该如何做到这一点吗

  1. 有没有办法在我自己的服务器上从REST向Graphql发送请求
  2. 或者有更好的方法吗

就像这个视频中所做的一样:

我是否正确理解您正在寻找通知客户付款成功的方法?

我想你知道如何处理重定向逻辑,所以下面是你可以从服务器通知你的网络应用程序的方法。

1.常规HTTP请求

客户会定期向您的服务器发送HTTP-request,直到您收到来自银行API的"付款完成"请求,您才会做出响应。如果您的请求在银行API确认付款之前超时,您只需再次发送相同的请求。这种模式也称为长轮询

2.服务器发送的事件

您的客户端可以打开一个到服务器的通道,允许服务器向客户端发送事件(单向(。它很容易实现,是处理单向通信的可靠方法。查看MDN文档。

3.Web套接字MDN

你可能很熟悉这些,因为它们是当今事实上的标准。类似于服务器发送的事件,但它们允许双向通信。

大多数处理客户端-服务器通信的库都实现了这些技术的组合,以便提供后备解决方案。我建议坚持使用其中一个库,因为它们处理许多边缘案例,否则需要大量的工作。

正如您所指出的,如果您已经在使用GraphQL,那么您可以简单地使用它的订阅api。它使用WebSockets,并在下面回退到长轮询。

其他流行的选项包括socket.io或graphql-se。

最新更新