基于uniapp的微信小程序的微信支付

第一步:调用uni.login获取用户的code

第二步:携带用户的code向后端发起请求,获取用户的openId

第三步:携带用户的openId和要支付的金额等参数,向后端发起请求,获取微信支付需要的相关参数

第四步:携带微信支付需要的相关参数,调用uni.requestPayment拉起微信支付

1.调用uni.login接口获取用户的code

uni.login({
       provider: 'weixin',
       success (res) {
         if (res.code) {      
           this.payFn(res.code)
         } else {
         }
       }
     })

//第二步+第三步+第四步

async payFn(code){

//2.获取用户的openId

const res = await uni.$http.get('后端接口?code='+code)

if(res.code === 200){
        const data = {
          openId:res.data.openId,
          money:this.money
        }

//3.获取支付相关的参数

    const {data:res2} = await uni.$http.post('后端接口',data)
       if(res2.code === 200){
         //4.调用微信的支付接口,携带后端返回的支付相关的参数,即可完成支付
         uni.requestPayment({
            provider: 'wxpay',
             timeStamp: res2.data.timeStamp,
             nonceStr: res2.data.nonceStr,
             package:  res2.data.package,
             signType: 'MD5',
             paySign: res2.data.paySign,
             success: function (res) {
                 uni.showToast({
                   title:'支付成功',
              icon:'success'
                 })
             },
             fail: function (err) {
                 uni.showToast({
                   title:'支付失败',
                   icon:'error'
                 })
             }
         });

}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值