检测微信二维码是否被扫描

Detect if WeChat QR code is scanned

我正在尝试构建一个呈现微信二维码的应用程序,它将被微信移动应用程序扫描以进行支付。当然,应用程序上实现了身份验证、证券和验证,所以不是每个人都可以做扫描。但我真正想要实现的是,一旦二维码被扫描,带有二维码的选项卡将自动关闭或至少触发 javascript 中的某些内容。可能吗?

注意:

QR 码是来自 API return

的渲染图像

这是第三次支付集成中的经典问题。我猜你的情况是WeChat Payment

逻辑是:

  1. 调用API开始下单,获取二维码图片。请注意,在API中,您可以注册属于您的服务器的回调URL(notify_url)。
  2. 用户扫描二维码图片进行支付。
  3. 微信服务器收到扫描操作,尝试做支付工作,调用你的notify_url.
  4. 在您的服务器中,收到付款 success/fail 信息,并将此信息推送 给客户端。
  5. 客户收到付款success/fail信息并做UI工作。

如何从服务器推送信息到客户端,有多种方式:

  • WebSocket
  • 服务器发送事件
  • 彗星
  • 使用 setInterval
  • 重复 ajax 请求