微信支付时,安卓机调用 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>
|