首页 >后端开发 >php教程 >微信公众号JS API支付,安卓没有效果(会闪一下就消失了)

微信公众号JS API支付,安卓没有效果(会闪一下就消失了)

WBOY
WBOY原创
2016-06-06 20:14:542239浏览

代码如下,ios可以支付,但是到安卓手机上就会出现微信支付读条(那三个点),然后就消失了,没有跳出输入密码支付的界面。。。。

<code>   //调用微信JS api 支付
   function jsApiCall() {
       WeixinJSBridge.invoke(
       'getBrandWCPayRequest',
       // jsApiParameters,
       <?= $json ?>,
       function(res){
           //WeixinJSBridge.log(res.err_msg);
           //alert(res.err_code+res.err_desc+res.err_msg);
           if (res.err_msg == 'get_brand_wcpay_request:cancel') {
               alert('支付取消了');
           }
           if (res.err_msg == 'get_brand_wcpay_request:ok') {
               alert('支付成功了');
               // location.replace('');                   
                                  }
           return;
       }
       );
   }

   function handlePayOrder() {
           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();
        }
   }
   </code>

还有就是这 handlePayOrder 方法有什么用,微信那文档就写了个实例,好像没解释着代码的作用... 我把这方法去了还是可以支付(安卓的还是不行)

回复内容:

代码如下,ios可以支付,但是到安卓手机上就会出现微信支付读条(那三个点),然后就消失了,没有跳出输入密码支付的界面。。。。

<code>   //调用微信JS api 支付
   function jsApiCall() {
       WeixinJSBridge.invoke(
       'getBrandWCPayRequest',
       // jsApiParameters,
       <?= $json ?>,
       function(res){
           //WeixinJSBridge.log(res.err_msg);
           //alert(res.err_code+res.err_desc+res.err_msg);
           if (res.err_msg == 'get_brand_wcpay_request:cancel') {
               alert('支付取消了');
           }
           if (res.err_msg == 'get_brand_wcpay_request:ok') {
               alert('支付成功了');
               // location.replace('');                   
                                  }
           return;
       }
       );
   }

   function handlePayOrder() {
           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();
        }
   }
   </code>

还有就是这 handlePayOrder 方法有什么用,微信那文档就写了个实例,好像没解释着代码的作用... 我把这方法去了还是可以支付(安卓的还是不行)

签名的参数有问题或者测试环境没有把自己加入支付白名单

用官方的微信开发者工具 在电脑上调试 可以看到接口调用详情

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn