首页 > 其他分享 >uniapp开发H5微信支付

uniapp开发H5微信支付

时间:2024-03-25 09:29:05浏览次数:26  
标签:uniapp orderInfo data jweixin H5 params 微信 getProvider type

uniapp开发H5微信支付

// #ifdef WEB || H5
// npm install jweixin-module
const jweixin = require('jweixin-module');
// #endif

/**
 * 对接支付
 * @param params  对应orderInfo对象值
 * @return 输入支付结果
 **/
const getPay = (params = {}) => {
	let provider, orderInfo;
	let getProvider_type = null;
	getProvider().then(res => {
		getProvider_type = res;
	})
	// #ifdef APP
	orderInfo = 'orderInfo';
	// #endif
	// #ifdef MP-WEIXIN
	orderInfo = {
		"appId": params.appId, //公众号名称,由商户传入
		"timeStamp": params.timeStamp, //时间戳     
		"nonceStr": params.nonceStr, //随机串     
		"package": params.package,
		"signType": params.signType, //微信签名方式:     
		"paySign": params.paySign //微信签名 
	};
	// #endif
	// #ifdef WEB || H5
	let data = params;
	return new Promise((reslove, reject) => {
		jweixin.config({
			debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
			appId: data.appId, // 必填,公众号的唯一标识
			timestamp: data.timeStamp, // 必填,生成签名的时间戳
			nonceStr: data.nonceStr, // 必填,生成签名的随机串
			signature: data.paySign, // 必填,签名
			jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
		})
		jweixin.error(function(err) {
			// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
			// console.error('config错误', err)
		});
		jweixin.ready(function(ren) {
			jweixin.chooseWXPay({
				timestamp: data.timeStamp, // 时间戳
				nonceStr: data.nonceStr, // 随机数
				package: data.package, //
				signType: data.signType,
				paySign: data.paySign, // 签名
				success: function(res) {
					uni.showToast({
						title: '支付成功'
					});
					reslove({
						type: true,
						back: 'success'
					})
				},
				cancel: function(can) {
					uni.showToast({
						title: '取消支付',
						icon: 'none'
					});
					reslove({
						type: false,
						back: 'cancel'
					})
				},
				fail: function(err) {
					uni.showToast({
						title: '支付失败',
						icon: 'none'
					});
					reslove({
						type: false,
						back: 'fail'
					})
				}
			})
		})
	})
	// #endif
	// #ifdef MP-WEIXIN
	return new Promise((reslove, reject) => {
		uni.requestPayment({
			"provider": getProvider_type && getProvider_type.provider && getProvider_type
				.provider[0] ? getProvider_type.provider[0] : 'wxpay',
			...orderInfo,
			success(res) {
				reslove(res)
			},
			fail(err) {
				reject(err)
			}
		})
	})
	// #endif
}

标签:uniapp,orderInfo,data,jweixin,H5,params,微信,getProvider,type
From: https://blog.csdn.net/weixin_44085311/article/details/137002650

相关文章

  • 毕业设计3489基于微信小程序的就业管理系统设计与实现【源代码+文档+调试+讲解视频】
    摘要本文旨在介绍一个基于微信小程序的就业管理系统的设计与实现。该系统通过服务器端和客户端两种用户角色,实现了个人用户管理、企业管理、就业指导管理、职位管理以及系统管理等功能。同时,系统提供了用户友好的界面设计和便捷的操作体验,为求职者和企业提供了一个高效、便......
  • 【Python + 微信】微信公众号开发避坑指南
    大家好,我是同学小张,日常分享AI知识和实战案例欢迎点赞+关注......
  • 全栈的自我修养 ———— uniapp中加密方法
    直接按部就班一步一步来一、首先创建一个js文件填入AES二、创建加密解密方法三、测试一、首先创建一个js文件填入AES直接复制以下内容/*CryptoJSv3.1.2code.google.com/p/crypto-js(c)2009-2013byJeffMott.Allrightsreserved.code.google.com/p/crypto-......
  • JumpServer如何对接企业微信实现扫码登录
    前言:    JumpServer是一套优秀的堡垒机软件,本文主要介绍如何设置来将Jumpserver与企业微信来做联动。前提是已经安装好Jumpserver且注册了企业微信,并堡垒机访问的域名是通过icp备案的。如果要实现回调的,域名需要指向公网,如果这是扫码登录和身份验证域名无需指向公网地......
  • uniapp开发ios,scroll-view横向滚动失效,动态获取scroll-view内部子容器总宽度,然后添加
    这是老bug了,官方一直没有解决掉。已经摸索到完美解决方案,遇到这个问题的可以看下。本文以三级导航页面中的二级横向滚动导航为例,说明如何做到不同宽度子元素的横向滚动。bug定位:本来横向滚动只要子元素宽度大于scroll-view固定宽度就可以滚动的,但是IOSApp开发中子元素高度必须......
  • uniapp根据链接生成二维码
    1.我们在根目录common中新建一个js文件2.然后再这个js文件当中添加以下这些代码//uqrcode.js//---------------------------------------------------------------------//githubhttps://github.com/Sansnn/uQRCode//----------------------------------------------......
  • .net core 实现微信支付-小程序支付(服务端代码)
    前言前段时间研究了下微信支付-小程序支付的功能。但微信支付文档中关于.netC#的语言的sdk没有,只有javago和php版本的,当然社区也有很多已经集成好的微信支付.netcoresdk,但他们的的又都太臃肿了(我只需要个微信支付即可),集成度也特别深,用起来还得先学习下他们的文档,拿来主义固......
  • uniapp发布到h5调用Android原生拍照,相册,uniapp如何显示并上传
    先说一下我这边的需求:uniapp这边发布到h5,然后调用Android原生拍照,选择相册,最后将路径回调到uniapp,uniapp那边image要优先将图片回显出来,并将图片上传到服务器遇到的问题:1调用原生拍照,选择相册回调到uniapp,uniapp的image控件无法展示Android那边回调回来的图片路径,但是如......
  • java毕业设计二手物品交易微信小程序[附源码]
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在数字化时代的浪潮下,微信小程序凭借其无需下载安装、即用即走的便捷特性迅速普及,成为互联网应用的新宠。伴随着社会消费观念的变迁和绿色环保意识的提升......
  • springboot/java/php/node/python微信小程序的宠物管理系统【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着社会的发展和人们生活水平的提高,宠物已经成为越来越多家庭的重要成员。伴随着宠物数量的增加,宠物管理问题也日益凸显,如宠物的健康监护、日常饮食管理......