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

前端提交订单把商品信息传到后端,后端生成订单然后返回 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

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值