ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

uniapp 小程序支付功能

2021-12-16 19:02:35  阅读:324  来源: 互联网

标签:uniapp 调用 service pay 程序 支付 uni


项目需求

项目生成订单,需要用户通过小程序进行支付。

解决方案

使用uni.requestPayment(),调用小程序中的付款功能。


<script>
	export default {
		data() {
			return {
				request:{
          id:xxxxx,
          info:'xxxx'
        }
			}
		},
		onLoad() {

		},
		methods: {
			// 提交订单
			subOrder() {
        this.post("api/order/createOrder", this.request).then(res => {
					if (res.code == 0) {
						// 得到订单的反参调用微信支付
						let pay = JSON.parse(res.data.prepayId);
						uni.requestPayment({
							timeStamp: pay.timeStamp,
							nonceStr: pay.nonceStr,
							package: pay.package,
							signType: pay.signType,
							paySign: pay.paySign,
							// 支付成功的回调
							success(result) {
								console.log(result)
								if (result.errMsg == "requestPayment:ok") {
									uni.showToast({
										icon: "success",
										title: "购买成功!"
									})
							 }

							},
							// 支付失败回调
							fail(err) {
								uni.showToast({
									icon: "none",
									title: "支付失败"
								})
							}
						})
					}
				});
      }
		}
	}
</script>

参数名类型说明
providerString服务提供商,通过 uni.getProvider 获取。
orderInfoString/Object订单数据
timeStampString时间戳
nonceStrString随机字符串,长度为32个字符以下。
packageString统一下单接口返回的 prepay_id 参数值,提交格式如:prepay_id=xx。
signTypeString签名算法,暂支持 MD5。
paySignString签名,具体签名方案参见 微信小程序支付文档
bannedChannelsArray需要隐藏的支付方式,详见 百度小程序支付文档
serviceNumber固定值:1(拉起小程序收银台)开发者如果不希望使用字节跳动小程序收银台,service设置为3/4时,可以直接拉起微信/支付宝进行支付:service=3: 微信API支付,不拉起小程序收银台;service=4: 支付宝API支付,不拉起小程序收银台。其中service=3、4,仅在1.35.0.1+基础库(头条743+)支持
_debugNumber仅限调试用
getOrderStatusFunction商户前端实现的查询支付订单状态方法(该方法需要返回个Promise对象)。 service=3、4时不需要传。
successFunction接口调用成功的回调
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

点赞 评论 收藏 ~~ 有疑惑的小伙伴,可能是我表达不清楚,可以留言讨论,如有错误,也希望大家不吝指出。 ~~ 点赞 评论 收藏

标签:uniapp,调用,service,pay,程序,支付,uni
来源: https://blog.csdn.net/weixin_49175501/article/details/121969273

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有