小程序调用微信支付

1、注册微信小程序开发平台

微信公众平台

2、开通付费管理

3、通过uni.login获取当前登录人凭证
 

uni.login({
     success: function(res) {
       if (res.code) {
         // 发送 res.code 到后台换取 openId, sessionKey, unionId
          }
      }
})

4、调用后端获取对应的数据

uni.request({
      url: '', //请求路径
      method: 'post', //请求方法
      data: {}, //给后端的参数
      success(res) {
         console.log(res);
         //res这里主要有几个参数后面会调取uni的支付接口需要使用,下面会介绍
       })
    },
})

5、调用微信支付

    uni.requestPayment({
        provider: 'wxpay', //支付方式
        timeStamp: res.data.data.timeStamp, //时间戳
        nonceStr: res.data.data.nonceStr, //随机字符串
        package: res.data.data.package, //返回的prepay id
        signType: res.data.data.signType, //签名算法,需要与后台下单时一致
        paySign: res.data.data.paySign, //签名
        success(resd) {
           //触发该success时已经是输入密码支付成功后触发,可做一些页面跳转和成功提示
           console.log(resd);
         },
        fail(err) {
            //支付失败时出发,比如取消支付、余额不足等
            console.log(err);
         }
     })

6、完整代码

zhifu() {
	let this_ = this
	uni.login({
	    success: function(res) {
		    if (res.code) {
			// 发送 res.code 到后台换取 openId, sessionKey, unionId
		        uni.request({
					url: '', //请求路径
					method: 'post', //请求方法
					data: {}, //给后端的参数
					success(res) {
						console.log(res);
						//res这里主要有几个参数后面会调取uni的支付接口需要使用,下面会介绍每个数据
						//这个请求结束后就是前端最重要的步骤了,需要拉起支付密码框来完成支付
						    uni.requestPayment({
							    provider: 'wxpay', //支付方式
								timeStamp: res.data.data.timeStamp, //时间戳
								nonceStr: res.data.data.nonceStr, //随机字符串
								package: res.data.data.package, //返回的prepay id
								signType: res.data.data.signType, //签名算法,需要与后台下单时一致
								paySign: res.data.data.paySign, //签名
									success(resd) {
											//触发该success时已经是输入密码支付成功后触发,可做一些页面跳转和成功提示
											console.log(resd);
										},
										fail(err) {
											//支付失败时出发,比如取消支付、余额不足等
											console.log(err);
										}
									})
								},
							})
						}
					}
				});
			},

本文章仅限自我记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值