小程序支付流程(各大小程序不一样 这里是微信小程序)

1.从后台拿到用户的openid

	uni.login({
				provider: 'weixin',
			success: res => {
					// 在服务端获取用户信息
					uni.request({
						// 你的服务器地址
						url: 'https://888/xxxxxxxxxxxxxxxxx',
						method: 'POST',
						data: {
							code: res.code,
						},
						success(res) {
							// 获取需要的用户信息
							that.openid = res.data.data.openid;
						}
					})
				},
				fail: err => {
					uni.showToast({
						content: '授权失败,请联系工作人员处理',
						duration: 2000
					})
				}
			})

2.在输入 你需要金额和 后台需要的数据 然后请求

uni.request({
						url: 'https://xxxxxxxxxxxxxxxxxxxxxxxxxxx',
						data: {
							subject: this.khname,
							money: `${this.khmoney}`,
							openid: this.openid
						},
						success: (res) => {
/*
支付2需要的数据(你们自己后台返回的的数据 这是我的)
nonceStr: "kXPXAPctRdtKA8gn3lnJE"
outsn: "20230818092621980"
package: "prepay_id=wx1809054b0bedb51dafe7c470000"
paySign: "S+5+ETaTFI2qIGvWmyyMKXXCacrl4BRPdRUXDmmzZK7ZulI0joQhcSD+UGaVM4F9oMfhqn/zWNyRwoIf4"
signType: "RSA"
timeStamp: "1692321981"
*/
							let outTradeNo = res.data.data.outsn;
//调用支付接口
							uni.requestPayment({
								provider: 'wxpay',
								...res.data.data,
								success(res) {
									console.log(res);
									uni.hideLoading();
									// if (res.resultCode === "9000") {
									// 	console.log('跳转');

									// } else {
									// 	console.log('支付未完成');
									// }
									uni.navigateTo({
										url: `../paydetail/paydetail?id=${outTradeNo}`
									});
								},
								fail(e) {
									uni.showToast({
										title: '未支付',
				             			icon: "error",
										duration: 1000
							})
								}
							})
						},
						fail(e) {
							// console.log('创建订单失败');
						}
					});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值