【支付】微信小程序 微信支付 uniapp

文章讲述了在移动应用中实现微信支付的过程。首先,后端返回包含appid、时间戳等关键信息的字符串,通过JSON.parse转换为对象。然后,使用uni.getProvider获取支付服务提供者,并存储微信服务商信息。在opratePay函数中,利用这些数据调用uni.requestPayment进行支付操作,成功或失败会显示相应的提示。
  1. 提交订单,后端返回 重要数据 包含 appid ,时间戳 一些 (把数据 JSON.parse处理一下)
  2. 微信调用
后端返回的数据格式 是string  先转换为 对象
orderString: "{"timeStamp":"167929679885","package":"prepay_id=wx201e613122153551587eeec81bb91cc52b80000","paySign":"CC7DCCA9AC2g023AAC2647sE4684F477D9C305D","appId":"wx4e1176d2380532160601511f","signType":"MD5","nonceStr":"947821163685"}"

在这里插入图片描述

调用微信支付 具体写法

  1. 首先通过uni.getProvider方法获取到用户手机里的服务商,service选择payment,共有4种方式alipay(支付宝支付)、wxpay(微信支付)、baidu(百度收银台支付)、appleiap(苹果应用内支付)
onShow() {
	uni.getProvider({
		service: 'payment',
		success: function(res) {
			uni.setStorageSync('providerpayment', res.provider[0]);
		}
	});
}
opratePay(orderString) {
	let _this = this;
	//支付
	uni.requestPayment({
		provider: uni.getStorageSync('providerpayment'),  // wxpay 微信服务商
		// #ifdef MP-WEIXIN
		timeStamp: orderString.timeStamp,
		nonceStr: orderString.nonceStr,
		package: orderString.package,
		signType: 'MD5',
		paySign: orderString.paySign,
		// #endif
		success: function(value) {
			uni.showToast({
				title: '支付成功',
				icon: 'none'
			});
			
		
		},
		fail: function(err) {
			uni.showToast({
				title: '支付失败',
				icon: 'none'
			})
		}
	})
},
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值