收藏
回答

jsapi支付关闭支付框res.err_msg返回network_type:wwan,求解

jsapi支付:当用户点击支付,支付框弹出后,不支付,直接点击关闭支付框,res.err_msg的值不是get_brand_wcpay_request:cancel或get_brand_wcpay_request:fail,而是network_type:wwan,用了三部手机测试,其中一个手机提示的是network_type:wwan,其他手机提示:get_brand_wcpay_request:cancel

 function jsApiCall()

               {

                   WeixinJSBridge.invoke(

                   'getBrandWCPayRequest',

                   $.parseJSON(wxJsApiParam), //josn串

                    function (res) {

                        //                    alert(res.err_msg);

                        WeixinJSBridge.log(res.err_msg);

                        // 使用以上方式判断前端返回,微信团队郑重提示:

                        //res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。

                        if (res.err_msg == "get_brand_wcpay_request:ok")  //

                        {                                         

                        }

                        else if (res.err_msg == "get_brand_wcpay_request:cancel" || res.err_msg == "get_brand_wcpay_request:fail") {

                            //支付过程中用户取消 或 支付失败

                            $("#lblMsg").text("支付失败或您已取消支付!");

           }

                        else {

                            $("#lblMsg").text("other:" + res.err_msg);                       

                        }


                    }

                    );

               }


回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-10-23

    iOS 这边只有:

    "network_type:fail";
    "network_type:wifi";
    "network_type:edge";

    getNetworkType这个返回值是这条jsapi返回的

    是不是同时调用了 getNetworkType 这个 jsapi?

    2019-10-23
    有用
    回复 3
    • 喜马拉雅
      喜马拉雅
      2019-10-23
      没有的,这个页面只调用了getBrandWCPayRequest,当用户点击支付按钮,微信支付框已经打开,但是此时不支付,用户选择了关闭微信支付框或者点击了手机上的返回键,我这边获取到的res.err_msg是network_type:wwan。但也不是所有手机都这样,试了三部手机,一部ios,两部android,其中一部android的返回值res.err_msg是network_type:wwan,另外两部手机返回值res.err_msg是get_brand_wcpay_request:cancel,同时,这部手机的这个返回值,是当弹出微信支付框的时候就有这个提示,关闭的时候还是这个提示。这是什么原因呢?希望能得到您这边的回复。因为我这边有些流程是需要获取到用户的取消操作才能进行。谢谢谢谢
      2019-10-23
      回复
    • 喜马拉雅
      喜马拉雅
      2019-10-23
      刚试出来了另一个问题:
      用户是先进入了一个类似于订单的页面,这个页面有一个方法获取定位wx.getLocation,是异步获取。然后点击按钮进入待支付页面,此时,若用户的定位已打开,则点击支付按钮时,很快就弹出微信支付框,若用户的定位没打开,则点击支付按钮时,会反应几秒才打开微信支付款,这时就会有时候出现res.err_msg是network_type:wwan的情况。
      注:订单页面只有wx.getLocation方法,待支付页面只有getBrandWCPayRequest方法。
      2019-10-23
      回复
    • 喜马拉雅
      喜马拉雅
      2019-10-23
      您好,接着上面的回复,这个是具体的提示,有的手机会提示,点击支付的时候弹出支付框获取到的res.err_msg和关闭支付框获取到的res.err_msg都是这样的提示,如果有这样提示,直接支付,是支付成功的。
      2019-10-23
      回复
登录 后发表内容