uniapp php 微信app支付

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//微信支付
wxPay(){
    uni.getProvider({
        service: 'payment',
        success: res=>{
            if (~res.provider.indexOf('wxpay')) { //先判断用户是否有微信支付环境(是否安装了微信app)
                uni.showLoading({title: '正在调起微信支付'})
                let params={
                    money:this.moneyCount,
                    bs:4
                }
                uni.request({ //再从后端接口获取相关数据配置到orderInfo里,这个接口由后端配置好了,返回结果见下图2-微信
                    url: ``,
                    method: 'POST',
                    header: {
                        "Token":this.userToken,
                        "Content-Type":"application/x-www-form-urlencoded"
                    },
                    data: params,
                    success: res => {
                        if(res.data.code==200){
                            let resobj=JSON.parse(res.data.data)
                            let payInfo={
                                appid: resobj.appid,
                                noncestr: resobj.nonce_str,
                                package:"Sign=WXPay",
                                partnerid: resobj.mch_id,
                                prepayid: resobj.prepay_id,
                                timestamp: resobj.time_stamp,
                                sign: resobj.sign,
                            }
                            uni.requestPayment({
                                provider: 'wxpay',
                                orderInfo: payInfo, //微信订单数据(Object类型)
                                success: res=>{
                                    uni.hideLoading();
                                    uni.showToast({title: '支付成功',icon:'none'})
                                },
                                fail:err=>{
                                    uni.hideLoading();
                                    uni.showToast({title: '支付失败,请稍后再试',icon:'none'})
                                }
                            });
                        }
                    },
                    fail: () => {
                        uni.hideLoading();
                        uni.showToast({title: '服务器开小差了呢,请您稍后再试',icon:'none'})
                    }
                });
            }else{
                uni.showToast({title: '获取微信通道失败,请检查您的微信是否正常启用',icon:'none'})
            }
        }
    });
},

  

posted @   小风筝666  阅读(140)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示