uni-app 微信小程序支付功能

2022-06-17 09:38:12

前端提交订单把商品信息传到后端,后端生成订单然后返回 uni.requestPayment   API必填的参数,调起微信支付输入密码,完成订单交易!

必填的几个参数如下

provider:服务提供商

timeStamp:时间戳

nonceStr:随机字符串

package:统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=xx

signType:签名算法

paySign:签名

官方文档:https://uniapp.dcloud.io/api/plugins/payment?id=requestpayment

 这里贴一下项目代码,可以根据你的项目需求修改业务逻辑代码

uni.request({
					url: '', //生成订单接口地址
					data: {
						access_token: '', //用户令牌
						order_info: '', //商品信息
						//.....................
					},
					method: "", //请求方式
					dataType: '', //服务器返回的数据类型
					header: {   //请求头
						'content-type': 'application/x-www-form-urlencoded'
					},
					success: (res) => {
						
						if (res.data.code == 0) {
							  
							  // 调起微信支付输入密码
				              uni.requestPayment({ 
				              	provider: 'wxpay',
				              	timeStamp: res.data.data.timeStamp,
				              	nonceStr: res.data.data.nonceStr,
				              	package: res.data.data.package,
				              	signType: res.data.data.signType,
				              	paySign: res.data.data.paySign,
				              	success: function(res) {
				              				
									uni.showToast({
										title: '支付成功',
										icon:'success',
										duration: 2000
									});
									
									//处理支付成功后其他的业务逻辑		
				              		// uni.request({
				              		// 	url: api['apiroot'] + 'order/pay-success',
				              		// 	data: {
				              		// 		access_token: '',
				              		// 		order_id: '',
				              				
				              		// 	},
				              		// 	method: "GET",
				              		// 	dataType: 'json', //默认 json格式
				              		// 	header: {
				              		// 		'': '' 
				              		// 	},
				              		// 	success: (res) => {
				              		// 		uni.redirectTo({
				              		// 			url: ''
				              		// 		});
				              		// 	},
				              		// })
				              				
				              	},
				              	fail: function(err) {
				              		uni.showModal({
				              			title: '温馨提示',
				              			content: '订单尚未支付',
				              			showCancel: false,
				              			success: function(res) {
				              				if (res.confirm) {
				              					uni.redirectTo({
				              						url: '',
				              					})
				              				}
				              			}
				              		});
				              	}
				              })
						} else {
							uni.showToast({
								title: '支付失败',
								duration: 2000
							});
						}
						
					}
				})

后端要开通微信支付,微信公众号认证

1.必须是企业,个人用户不行

2.去微信支付平台提交资料审核

3.成为商户,拿到商户id、支付密钥key

微信支付平台地址:https://pay.weixin.qq.com/index.php/core/home/login

小程序绑定微信支付要填写小程序 appid 、小程序appsecret

管理员登录微信公众平台获取:https://mp.weixin.qq.com

  • 作者:m0_61073617
  • 原文链接:https://blog.csdn.net/m0_61073617/article/details/123236525
    更新时间:2022-06-17 09:38:12