在大超市扫码支付的过程中发生了什么

请问 在大超市 收银员用扫码枪 扫描顾客出示的 微信付款 码 帮顾客 完成支付的过程中,

1、支付二维码包含哪些信息,
2、扫码枪扫完码后,它相关的后台做了哪些工作

你可以到微信官网看相关开发文档,场景介绍之类的信息


我简单收集了以下相关的信息:
1、 支付二维码包含的信息:

  • 商户号(Merchant ID):标识商家的唯一身份。
  • 订单号(Order Number):标识该次支付的唯一订单号。
  • 支付金额(Payment Amount):标识顾客需要支付的金额。
  • 时间戳(Timestamp):标识生成支付二维码的时间。
  • 其他可能的信息:例如商品信息、商户自定义的一些附加数据等。

2、 扫码枪扫码后后台的工作(Java、JavaScript):

  • 扫描二维码:扫码枪将二维码的内容读取并发送给后台系统。
  • 后台解析二维码:后台系统接收到扫码枪发送的二维码内容,使用相应的库或算法对二维码进行解析,提取出二维码包含的信息。
  • 订单校验与处理:后台系统根据商户号、订单号等信息进行校验,确保订单的合法性。然后进行相应的支付处理,包括验证支付金额、更新订单-状态等。
  • 通知支付结果:后台系统向微信支付服务器发送请求,告知支付结果。微信支付服务器会向商户的后台系统发送异步通知,以确保支付结果的一致性。
  • 更新交易记录:后台系统根据支付结果更新相应的交易记录,包括支付成功、支付失败等状态的记录。

具体的工作流程和技术实现可能因为具体的大超市系统架构和支付接口而有所不同。上述的回答是一般情况下的实现方式。你可以使用相关的第三方库或者微信提供的SDK来实现二维码解析和支付处理的逻辑,还有相关的二维码解析库和Ajax等技术来实现前端的支付处理逻辑。


  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7673052
  • 你也可以参考下这篇文章:小程序生成二维码保存到相册、解析二维码将结果复制到接切板
  • 除此之外, 这篇博客: 【尚筹网项目】 二、【后台】管理员登录中的 ③ 在异常处理器类中增加登录失败异常的处理 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在这里插入图片描述

    // 登陆失败异常的处理
    @ExceptionHandler(LoginFailedException.class)  //ExceptionHandler 将一个具体的异常类型和一个方法关联起来
    public ModelAndView LoginFailedException(LoginFailedException exception, HttpServletRequest request, HttpServletResponse response) throws IOException {
        // 跳转的页面名称
        String viewName = "admin-login";
        return commonResolveException(exception, request, response, viewName);
    }
    
  • 您还可以看一下 刘运强老师的微信公众平台开发入门课程中的 消息及消息处理工具的封装小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    问题: 在大超市扫码支付的过程中发生了什么?

    在大超市中,当收银员用扫码枪扫描顾客出示的微信付款码,帮顾客完成支付的过程中,支付二维码包含以下信息: - 商户的标识信息(例如商户ID或商户号) - 收款金额 - 订单号或交易流水号等识别信息 - 平台的标识信息(例如微信支付的标识)

    扫码枪扫完码后,它相关的后台做了以下工作: 1. 扫码枪将二维码信息传输到后台服务 2. 后台服务对二维码进行解析,获取相应的信息(商户标识、收款金额等) 3. 后台服务调用支付平台的接口,将支付请求发送给支付平台 4. 支付平台验证支付信息(商户标识、收款金额等) 5. 支付平台与支付机构(例如银行)进行交互,完成支付流程 6. 支付平台将支付结果返回给后台服务 7. 后台服务根据支付结果,更新订单状态等相关信息 8. 后台服务将支付结果返回给扫码枪 9. 扫码枪根据支付结果,显示相应的支付成功或失败提示给收银员和顾客

    以上是一个大致的流程,不同的大超市可能会有一些差异,但核心步骤是相似的。具体的实现细节和代码实现会根据具体的支付平台和后台系统而有所不同。