收藏
回答

jsapi微信内H5调支付问题

function onBridgeReady() {

    

    WeixinJSBridge.invoke(

        'getBrandWCPayRequest',{

        "appId": productInfo.appId,     //公众号名称,由商户传入   

        "timeStamp": productInfo.timeStamp,         //时间戳,自1970年以来的秒数

        "nonceStr": productInfo.nonceStr, //随机串     

        "package":  productInfo.payPreId,          // 单号

        "signType": productInfo.signType,   //微信签名方式

        "paySign":productInfo.paySign  //微信签名

    },



   //这是最大的问题,支付成功下面这个函数根本不走.....下面的大括号根本不进去,我一直问的问题都是function(res)为什么不走,不是下面的if语句为什么不走,因为function(res)不走,里面的写的任何东西也没意义了

        function (res) {


    alert(“11111111”);     //支付成功了不走

                        alert(“只要支付成功,根本不能进去这个functiion(res){  ......更别说写判断了................}”);     //支付成功了不走

         



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

                alert("支付成功");         //回调路径也走了呀,为什么不走

               

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


                alert("支付过程中用户取消");             //支付取消正常走


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


                alert("支付失败");

            }

        });

}

 

 


最后一次编辑于  09-28
回答关注问题邀请回答
收藏

3 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    09-19

    H5支付是外部调用微信的一种支付方式,JSAPI支付才是微信内调用。你这个到底是哪种支付?

    09-19
    赞同
    回复 4
    • 阿娣
      阿娣
      09-19
      jsapi支付的页面
      09-19
      回复
    • 阿娣
      阿娣
      09-19回复阿娣
      jsapi支付文档--》jsapi支付下面,场景介绍,案例介绍,开发步鄹。。。微信内H5调支付,获取版本号。。
      09-19
      回复
    • 阿娣
      阿娣
      09-19
      微信文档不就这样写的吗?上面代码也是从这中复制的,然后更改的,jsapi支付方式也正常付款了,为什么不走fuction(res)。。。。。。急死我了
      09-19
      回复
    • 阿娣
      阿娣
      09-19
      https://developers.weixin.qq.com/community/pay/doc/000e461c548700527fe717ac75b800,这是我看到的另一位同学的,问题同他一样,我是jsapi支付
      09-19
      回复
  • Mark
    Mark
    09-27

    if(res.err_msg == "get_brand_wcpay_request:ok" ){      // 使用以上方式判断前端返回,微信团队郑重提示:            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。      }

    这个是官方的,所以我建议你这里就判断取消的,然后默认跳转到指定页面,在指定页面在判断回调之后的数据有没有成功。我就是这样写的

    09-27
    赞同
    回复 14
    • 阿娣
      阿娣
      09-27
      谢谢,我还是想问一下,支付成功了后,不走取消,不走成功,我怎么进到取消的if语句呢
      09-27
      回复
    • 阿娣
      阿娣
      09-27
      支付成功后它不走function(res){ 。。。。。。。。。}
      09-27
      回复
    • Mark
      Mark
      09-28回复阿娣
      上面不是说那个不稳定吗?你可以判断取消的状态else 其他状态都走成功的
      09-28
      回复
    • 阿娣
      阿娣
      09-28回复Mark
      我的问题是,当你支付成功时,根本不走function (res)这个呀,连这个函数都不进去,那在这里面不论写什么也不回走呀
      09-28
      回复
    • Mark
      Mark
      09-28回复阿娣
      // 使用以上方式判断前端返回,微信团队郑重提示: //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
      09-28
      回复
    查看更多(9)
  • 阿娣
    阿娣
    09-19

    请各位路过的帮帮忙,两天了,,,,,支付成功后就是不走function(res)里面,支付失败正常走,支付成功后回调路径也正常走了

    09-19
    赞同
    回复 9
    • 李
      10-30
      我也是  ,兄弟你解决了么
      10-30
      回复
    • 阿娣
      阿娣
      10-30回复
      解决了,这是苹果手机与安卓的不同,安卓正常走,苹果不行,不过不走alert不代表没有进入function(),支付成功后是可以正常走location.href
      10-30
      回复
    • 李
      10-30回复阿娣
      为什么我的连location.href都不走,根本进不去 function (res) {  成功进不去。。
      10-30
      回复
    • 阿娣
      阿娣
      10-30回复
      如果你支付成功,之后在 if (res.err_msg == "get_brand_wcpay_request:ok") {里面写重定向是正常走的}
      10-30
      回复
    • 阿娣
      阿娣
      10-30回复
      还有一个方法就是使用安卓手机测试,只要支付成功,你的alert也是正常走的,安卓测试是没有坑的
      10-30
      回复
    查看更多(4)
问题标签