uniapp转微信小程序调用微信支付

//第一步先调用后端接口接口把当前的支付商品的信息传过去
this.$myRequest({
url: ``, 
method:'post',
	header: {
	    'content-type': 'application/x-www-form-urlencoded',
//     	'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
     },
	data:{}
}).then(data=>{
	if(data.statusCode == 200){
		this.salesId = data.data.data.data //用商品信息换取得到商品id
		this.show = true
	} else {
		uni.showToast({
			title: data.data.message,
			icon: 'none',    //如果要纯文本,不要icon,将值设为'none'
			duration: 2000    //持续时间为 2秒
		})
	}
})
//的第二步调用后端接口把商品id和用户的optionid,this.salesId调用后端的接口换取微信支付的所有信息

this.$myRequest({
url: `/app/payMoneyNorm/wxPayForSmallRoutine?id=${this.salesId}&openid=${uni.getStorageSync('openid')}`, 
method:'post',
header: {
    'content-type': 'application/x-www-form-urlencoded',
//     	'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
    },
data:{}
}).then(data=>{
var _this = this
console.log(data)
if(data.data.code == 200){
	console.log(uni.getStorageSync('openid'))
//第三步把获取到的微信支付所有参数调用wx的api,wx.requestPayment吧参数传过去,参数大小写不要写错,就可以唤起微信支付了,如果按照步骤调微信那边出现错误,大概率是后端的事,因为我开始各种问题,最后我一个字母没改过,全是后端的问题。
	wx.requestPayment({
		appId: data.data.data.appId,
		nonceStr: data.data.data.nonceStr,
		package: data.data.data.package, // 固定值,以微信支付文档为主
		openid:uni.getStorageSync('openid'),
		timeStamp: data.data.data.timeStamp,
		paySign: data.data.data.sign, // 根据签名算法生成签名
		signType:'MD5',
	    // provider: 'wxpay',
	    // orderInfo: orderInfo, //微信、支付宝订单数据
	    success: function (res) {
			console.log(res)
	    },
	    fail: function (err) {
			console.log(err)
			_this.isdisabled = false
			uni.showToast({
				title: '订单未支付',
				icon: 'none',    //如果要纯文本,不要icon,将值设为'none'
				duration: 2000    //持续时间为 2秒
			}) 
	    }
	});
}
})
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值