关于IOS调用微信支付jsapi不起作用的解决方法

微信支付时,安卓机调用 jsapi可以支付,IOS就不行,点击立即支付,直接返回原立即支付页面,跟刷新页面差不多,解决方案很简单:两句话而已。

不得不说,微信支付坑太多了,我擦。。。。。

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

<asp:Button ID="btnSubmit" runat="server" Text="立即支付" OnClientClick="javascript:callpay();return false;" />

js:

//调用微信JS api 支付
function jsApiCall(){
WeixinJSBridge.invoke(
'getBrandWCPayRequest',<%=wxJsApiParam%>,function (res){
  if (res.err_msg == "get_brand_wcpay_request:ok") {
  alert("微信支付成功!");
  } else if (res.err_msg == "get_brand_wcpay_request:cancel") {
  alert("用户取消支付!");
  } else {
  alert(res.err_msg);
  alert("支付失败!");
  }
  }
  );
}

function callpay(){
  //WeixinJSBridge.invoke()
  if (typeof WeixinJSBridge == "undefined")
  {
    if (document.addEventListener)
    {
      document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
    }
  else if (document.attachEvent)
  {
    document.attachEvent('WeixinJSBridgeReady', jsApiCall);
    document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
  }
  }
  else
  {
    jsApiCall();
  }
}

html:

<body>
<form id="form2" runat="server" style="text-align:center;">
<img class="logo_g" src="../Templates/vshop/t7/images/logo.png" />
<asp:Button ID="btnSubmit" runat="server" Text="立即支付" OnClientClick="javascript:callpay();return false;" />
</form>
</body>

上一篇:asp.net 在AcquireRequestState事件中判断登陆验证。


下一篇:【BZOJ】3427: Poi2013 Bytecomputer