欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-11 09:42:19
...
代码如下,ios可以支付,但是到安卓手机上就会出现微信支付读条(那三个点),然后就消失了,没有跳出输入密码支付的界面。。。。
   //调用微信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();
        }
   }
   

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

回复内容:

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

   //调用微信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();
        }
   }
   

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

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

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

相关标签: php