Hbuildx 使用vue打包的App实现微信支付功能

很多兄弟在做App微信支付的时候出现报错,code:62000? code:-1? code:-100? 那是你没看本博主的文章!

前言:
本文章使用的是vue+h5+plus技术,结合hbuildx打包的App,实现在App中微信支付功能。

准备:
1.Appid
Appid需在微信开放平台中创建移动应用审核,审核成功后可查看Appid

注:包名以及签名一定和你的App对照仔细(一般签名重新打包时是会变的,去开放平台直接修改签名就行了)

在这里插入图片描述
不要忘记获取微信支付能力,获取完在hbuildx的manifest.json文件中配置Appid

在这里插入图片描述

在这里插入图片描述

打包的时候使用自有证书:安卓平台证书签名
注意点:生成的证书信息要有md5,这和jre的版本相关,详细jre版本看官方网站给的说明

Keystore type: PKCS12    
Keystore provider: SUN    

Your keystore contains 1 entry    

Alias name: test    
Creation date: 2019-10-28    
Entry type: PrivateKeyEntry    
Certificate chain length: 1    
Certificate[1]:    
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN    
Serial number: 7dd12840    
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119    
Certificate fingerprints:    
         MD5:  F9:F6:xxxxxxxxxxxCE:E6:0A:A5    
         SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7    
         SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26    
Signature algorithm name: SHA256withRSA    
Subject Public Key Algorithm: 2048-bit RSA key    
Version: 3

下面贴码介绍:

pay() {
	let payType = this.payType; // 1支付宝 , 2微信
	if (!payType) {
		return this.$toast.warn('请选择支付方式!');
	}
	if (payType == 2) this.wxPay('wxpay')
},
wxPay(id) {
	var _this=this
	var channel=null
	plus.payment.getChannels((channels) => {
		for(var i in channels)
		{
			if(channels[i].id=='wxpay')
			{
				channel=channels[i]
			}
			else{
				///
			}
		}
		if(this.dataPay=='' && channel==null)
		{
			return false
		}
		else
		{
			plus.payment.request(
					channel,
					JSON.stringify(_this.dataPay),
					(result) => {
						plus.nativeUI.alert("支付成功!", function (e) {
						// 支付成功回调
						back();
					});
					},
					(error) => {
						plus.nativeUI.alert("支付失败!");
						// 支付失败回调
					}
				);
		}
	}, function(e) {
		plus.nativeUI.alert("获取支付通道失败");
	});		
}

特别简单,首先通过plus.payment.getChannels获取支付通道,然后通过plus.payment.request调起微信支付

注意点:
1、plus.payment.getChannels获取支付通道并赋值的时候不要直接以数组的形式赋值比如channel=channels[1],一定要通过id名判断然后赋值(被坑过,之前是没判断直接赋值的,然后支付宝通道没有选,只选了一个微信的通道然后索引肯定不对,切记!!!)
2、测试微信支付功能需打完包安装到自己手机中进行测试,不要使用真机测试,自己打的包不要忘记去微信开放平台绑定,确定包名以及签名正确就能实现微信支付。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值