收藏
回答

WeixinJSBridge.invoke支付成功不返回?失败返回

functiononBridgeReady(){
   WeixinJSBridge.invoke(
      'getBrandWCPayRequest', {
         "appId""wx2421b1c4370ec43b",     //公众号名称,由商户传入     "timeStamp""1395712654",         //时间戳,自1970年以来的秒数     "nonceStr""e61463f8efa94090b1f366cccfbbb444", //随机串     "package""prepay_id=u802345jgfjsdfgsdg888",     
         "signType""MD5",         //微信签名方式:     "paySign""70EA570631E4BB79628FBCA90534C63FF7FADD89"//微信签名 
      },
      functionres{
      if(res.err_msg == "get_brand_wcpay_request:ok" ){
        window.location.href="${project_name}/pay/parking/renew?startTime="+startTime+"&should="+should+"&plate="+plate+"&time="+time;
      } 
   }); 
}
if (typeof WeixinJSBridge == "undefined"){
   if( document.addEventListener ){
       document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
   }elseif (document.attachEvent){
       document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
       document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
   }
}else{
   onBridgeReady();
}

    


function(res){} 这个回调函数在取消支付或支付失败的时候会进入,但是支付成功后没有进入到这个callback函数界面。

我们有两种模式:1.商户直连普通模式支付 2.服务商模式代特约子商户发起二维码支付

问题描述如下:

.后台直连微信商户,支付成功后走callback函数,我们可以直接window.location.href 实现跳转

2.后台走服务商模式(即服务商带特约子商户发起JSAPI支付)前台支付成功后不走callback函数,res 没有弹出,我们实现不了跳转(直接跳到这个payapp.weixin.qq.com 这个网址)

最后一次编辑于  2019-12-31
回答关注问题邀请回答
收藏

8 个回答

  • クズえもん
    クズえもん
    2020-11-12

    已解决,成功的回调会执行,但是alert不会执行,如果非要alert可以写在setTimeout里面

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

    setTimeout(_=>{

    alert('可以alert');

    },0)

    }

    2020-11-12
    有用 1
    回复
  • Li Yunzhe
    Li Yunzhe
    2020-08-13

    这里一定要写成箭头函数,这个回调才起作用,我之前在安卓手机上有的时候起作用有的时候不起作用,ios上一直不起作用。直到我看到一位小伙伴说要用匿名函数,我才想到改写为箭头函数。

    2020-08-13
    有用
    回复 1
    • 马昊昀
      马昊昀
      2021-06-01
      你好。我改成箭头函数了,iOS还是没执行怎么回事呢?谢谢
      2021-06-01
      回复
  • 天猫
    天猫
    2020-06-10


       <%--   Button  换成  a --%>
                <a onclick="callpay()"> 立即支付 </a>
         <%--       <asp:Button ID="submit" runat="server" Text="立即支付" OnClientClick="callpay()" style="width:210px; height:50px; border-radius: 15px;background-color:#00CD00; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" />--%>
    
    
    
    2020-06-10
    有用
    回复
  • 夏风
    夏风
    2020-05-29

    解决了,在这里说下怎么解决哦,给其他人提供下思路;

    我的也出现了,成功、取消、失败都不走res

    2020-05-29
    有用
    回复
  • 大赣赣
    大赣赣
    2020-05-07

    请问怎么解决的呢- -

    2020-05-07
    有用
    回复
  • 秋枫红叶
    秋枫红叶
    2020-03-18

    同问, 怎么解决的,学习一下!

    2020-03-18
    有用
    回复
  • 傲锅锅
    傲锅锅
    2019-12-31

    解决了,谢谢各位

    2019-12-31
    有用
    回复 12
    • Samuel
      Samuel
      2020-01-06
      可以请教下是什么原因吗?遇到了相同的问题
      2020-01-06
      回复
    • 彭伟
      彭伟
      2020-01-18
      请问你是怎么解决的
      2020-01-18
      回复
    • NICE
      NICE
      2020-02-15
      是的,怎么解决的,我也遇到同样的问题
      2020-02-15
      回复
    • NICE
      NICE
      2020-02-15
      支付成功,跳到成功页面,不跳指定页面,可以分享下怎么解决的吗
      2020-02-15
      回复
    • E1even
      E1even
      2020-02-26回复Samuel
      支付成功后alert没反应,你直接做页面跳转就行
      2020-02-26
      回复
    查看更多(7)
  • 微信支付技术助手1
    微信支付技术助手1
    2019-12-30

    建议仔细检查本地代码,设置一下断点看看具体的跳转情况。

    2019-12-30
    有用
    回复 2
    • 傲锅锅
      傲锅锅
      2019-12-30
      失败或者取消有回调{errMsg: "chooseWXPay:fail, the permission value is offline verifying"}
      但是成功没回调,支付成功直接一个页面提示,点击完成直接跳转到一个页面
      2019-12-30
      回复
    • 傲锅锅
      傲锅锅
      2019-12-30
      可以确定的是,支付成功后没走这个callback函数~
      2019-12-30
      回复
登录 后发表内容
问题标签