问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

微信扫码支付,如何判断用户是否成功扫码支付

发布网友 发布时间:2022-04-25 01:48

我来回答

4个回答

懂视网 时间:2022-04-23 21:33

这篇文章通过代码给大家介绍了JS判断是否是微信扫码的方法,非常不错,需要的朋友参考下吧

一、navagitor的userAgent属性中,判断是否含有micromessenger

二、代码


                                        

热心网友 时间:2022-04-23 18:41

微信扫码支付 统一下单时传入你的支付回调地址,若用户成功扫码支付后,微信会根据你的回调地址去返回支付结果,你就在你的支付回调接口里面处理支付结果逻辑就可以了

public String notify(HttpServletRequest request) throws Exception {
    String inputLine;
    String notifyXml = "";
    String resXml = "";
    try {
        while ((inputLine = request.getReader().readLine()) != null){
            notifyXml += inputLine;
        }
        request.getReader().close();
    } catch (Exception e) {
        e.printStackTrace();
    }

    System.out.println("接收到的xml:" + notifyXml);
    if(StringUtils.isEmpty(notifyXml)){
        System.out.println("xml为空");
    }
    Map map = WXUtils.xmlToMap(notifyXml);
    String out_trade_no = (String) map.get("out_trade_no");

    QiYeMoneyLog moneyLog = new QiYeMoneyLog();moneyLog.setPayNo(out_trade_no);
    QiYeMoneyLog log = moneyLogDao.selectOne(moneyLog);
    if(log!= null && log.getPayState().equals(1)){//支付成功就不需要继续执行 直接返回成功
        request.getSession().setAttribute("WX_PAY_STATE","PAY_SUCCESS");
        return "<xml>"+"<return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg>"+"</xml> ";
    }

    if(!"SUCCESS".equals(map.get("return_code"))){
        resXml = "<xml>" + "<return_code><![CDATA[FAIL]]></return_code>" + "<return_msg><![CDATA[FAIL]]></return_msg>" + "</xml> ";
    }else{
        if(null != log){
            request.getSession().setAttribute("WX_PAY_STATE","PAY_SUCCESS");
            log.setPayState(1);
            //删除支付二维码
            QiNiuUpLode.delete(StringUtil.oldUrl(log.getPayQrUrl()));
            log.setPayQrUrl("");
            //修改支付状态为成功
            moneyLogDao.updateById(log);
            //修改企业账户余额
            UserQiYe qiYe = qiYeDao.selectById(log.getQyId());
            qiYe.setQyMoney(BigDecimalMath.add(qiYe.getQyMoney(),log.getQyLogMoney()));
            qiYeDao.updateById(qiYe);

            System.out.println("公众号支付成功,out_trade_no(订单号)为:" + out_trade_no);
            resXml = "<xml>"+"<return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg>"+"</xml> ";
        }
    }
    return resXml;
}

热心网友 时间:2022-04-23 19:59

你收到钱,扫码就成功,没收到扫码就失败

热心网友 时间:2022-04-23 21:33

假设微信后台回调成功,后台逻辑处理完成,微信扫码页面,写一个异步去查询订单的状态,需要定时器,如:var int=self.setInterval(function(){pay_status()},1000);

<script type="text/javascript">
          function pay_status(){
              var order_id = $("#order_id").val();
              if(order_id != ""){
                  $.ajax({
                      url:'/message/meal/order/findInfoByorderId',
                      dataType:'json',
                      type:'post',
                      data:{'orderId':order_id},
                      success:function(data){
                          if(data == 'SUCCESS' ){
                              window.clearInterval(int); //销毁定时器
                              setTimeout(function(){
                                  //跳转到结果页面,并传递状态
                                  //  window.location.href="/shortMessageMeal/order/hospitalList.html";
                               /*   var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                  parent.layer.close(index); //再执行关闭*/
                     $(".code-area").attr("style","display: none;");
                                  $(".list-group").attr("style","display: none;");
                     $(".wx-complete").attr("style","");
                              },1000)
                          }
                      },
                      error:function(){
                          alert("error");
                      },
                  });
              }
          }
          //启动定时器
          var int=self.setInterval(function(){pay_status()},1000);
</script>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
雅阁是指哪个国家 雅阁是什么本田? 手提电脑的wifi连接在哪笔记本电脑怎样连接无线网 手提电脑网络在哪里连接wifi笔记本电脑怎样连接无线网 笔记本电脑自带的无线连接在哪里笔记本电脑怎样连接无线网 笔记本电脑无线网络在哪里连接呢笔记本电脑怎样连接无线网 你给我记住了表情包(你给我记住) ...动漫图片,左边的眼睛冒着蓝色的火,请问这是那个动漫的? ...王迈克奥赫恩是什么梗-大力王迈克奥赫恩梗的意思介绍 谁知道这个是东东叫什么名字 有木有它的表情包 微信扫码支付成功后钱不提醒也不到账是怎么回事 微信扫码支付,成功生成二维码,扫描出来一个字符串,不是支付页面,这是怎么回事? 苹果11手机发热? 英文名字寓意好的英文名网名有哪些? 用于起名的寓意好的字有哪些? 寓意越来越好的词语有哪些? 取个名字,要寓意未来越来越好,两个字加起来来笔画24 我想要一个形容我以后越来越好的,有寓意的网名? 什么是工业级试剂,纯度如何,与化学纯,分析纯有什么区别啊? 化学试剂的种类有哪些? GB-T 602-2002化学试剂 杂质滴定溶液的制 化学试剂如何分为五个等级? 化学试剂MPA是什么,如何制备 关于自配化学试剂的问题我现在有草酸,氯化钙,硫酸铜的固体 请问如何制取盐酸和硫酸 化学试剂配制计算公式,要求全一点,及他们之间的换算, 50g/L的某化学试剂怎么配制?详细一下,谢谢 用化学试剂配制溶液时,除注意准确度之外,还要考虑化学试剂的哪些影响因素? 化学试剂的配制中,说的1份是多少啊? 化学试剂制备过程中的“一步法”是什么意思? 化学试剂配制 怎么利用微信,支付宝生成二维码,让客户用信用卡付款 微支付中扫码支付开发流程是怎样的? 苹果13是不是单层主板? 我想知道爱普生投影仪的遥控器上的按钮都是干嘛的? 下图投影机遥控器如何使用? 请问,卡西欧yt120投影仪遥控板如何操作? 酷乐投影S3遥控器怎么使用 投影遥控用不了? zyV1S投影手机遥控器如何使用呢 我想问一下自学PS可以找到工作吗? 怎么办理公对公转账? ps怎么快速找到所在图层 在ps中如何把路径找到 如何在手机上找到ps? 屋顶为什么常常被设计成三角形? 研究方案:屋顶或墙体的钢架结构为什么是三角形? 屋顶或墙体的钢架结构为什么是三角形 造房子时屋顶常用三角结构,从数学角度来看,是应用了__ 造房子时屋顶常用三角结构,从数学角度来看,是应用了三角形具有( )A、... 购买住房时,屋顶有出现三角形造型的,为什么对风水不利?