MUI集成支付宝支付签名调用H5+plus接口问题解决方法(旧版接口)---原创

一、先下载文件:https://github.com/dcloudio/H5P.Server/tree/master/payment/alipay

觉得速度慢就下载这个:https://www.lanzous.com/i313vgj

二、按照压缩文件中的说明对照修改相应参数:

MUI集成支付宝支付签名调用H5+plus接口问题解决方法(旧版接口)---原创_第1张图片

 

三、修改好以后,有几个注意的地方

因为这个mui的h5+接口使用的是旧接口,也就是RSA的加密方式,新的是RSA2,所以要先去官网下载签名工具生成密钥和公钥。

四、要使用“2088”开头的appid,也就是使用合作者身份ID,由于新版改网关了,所以要找旧的maapi网关了,如图:

MUI集成支付宝支付签名调用H5+plus接口问题解决方法(旧版接口)---原创_第2张图片

五、使用后就可以使用代码了

mui.plusReady(function() {   
            // 获取支付通道 
                plus.payment.getChannels(function(channels){ 
                    aliChannel=channels[0]; 
                wxChannel=channels[1]; 
                },function(e){ 
                 alert("获取支付通道失败:"+e.message); 
                }); 
        }) 
       document.getElementById('weixin').addEventListener('tap',function() { 
          console.log("微信"); 
          pay('wxpay'); 
      }) 
        document.getElementById('zhifubao').addEventListener('tap',function() { 
            console.log("zhifubao"); 
            pay('alipay');  
        }) 
        console.log(ALIPAYSERVER);
       var ALIPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total='; 
      var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total='; 
        // 2. 发起支付请求 
        function pay(id){ 
                // 从服务器请求支付订单 
                var PAYSERVER=''; 
                if(id=='alipay'){ 
                PAYSERVER=ALIPAYSERVER; 
                channel = aliChannel; 
            }else if(id=='wxpay'){ 
                    PAYSERVER=WXPAYSERVER; 
                    channel = wxChannel; 
                }else{ 
                    plus.nativeUI.alert("不支持此支付通道!",null,"充值"); 
                    return; 
             } 
                var xhr=new XMLHttpRequest(); 
                xhr.onreadystatechange=function(){ 
                    switch(xhr.readyState){ 
                        case 4: 
                        if(xhr.status==200){ 
                            plus.payment.request(channel,xhr.responseText,function(result){ 
                                plus.nativeUI.alert("支付成功!",function(){ 
                                back(); 
                            }); 
                            },function(error){ 
                                plus.nativeUI.alert("支付失败:" + error.code); 
                            }); 
                        }else{ 
                            alert("获取订单信息失败!"); 
                        } 
                        break; 
                    default: 
                    break; 
                } 
         } 
            xhr.open('GET',PAYSERVER); 
            xhr.send(); 
    }

六、如果对你有帮助了,记得点个赞哦!

七、对了,忘了说了,在php文件中,如果你的php大于5.5版本的话,要改一些参数,新版本不支持旧版本的参数。

我直接把改好的发上来吧。文章最上面的我也修正了,和这个一样。

https://www.lanzous.com/i313vgj

八、新版接口不知道有人需要吗?需要的话留个言,我整理一下发出来

你可能感兴趣的:(MUI,前端,后端,HBuilder,thinkphp)