在h5端使用vue或者uniapp调用微信支付方法
//引入微信sdk
npm install weixin-js-sdk
//在使用的页面
import wx from "weixin-js-sdk";
//封装支付方法
wexinPay(data, cb, errorCb) {
//获取后台传入的数据
let {appId,timestamp ,nonceStr ,signature ,packages ,paySign,signType } = data;
//发起微信支付
wx.config({
debug: false, // 开启调试模式
appId: appId, // 必填,公众号的唯一标识
timestamp: timestamp, // 必填,生成签名的时间戳
nonceStr: nonceStr, // 必填,生成签名的随机串
signature: signature, // 必填,签名
jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表
});
wx.ready(function () {
wx.chooseWXPay({
timestamp: timestamp, // 支付签名时间戳
nonceStr: nonceStr, // 支付签名随机串,不长于 32 位
package: packages, // 统一支付接口返回的prepay_id参数值,提交格式如:
prepay_id=***)
signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
paySign: paySign, // 支付签名
success: function (res) {
// 支付成功后的回调函数
cb(res);
},
fail: function (res) {
//失败回调函数
errorCb(res);
}
});
});
wx.error(function (res) {
/*alert("config信息验证失败");*/
});
}
submit(){
axios.post("", data).then(res => {
//成功状态下
if (res.data.code==200) {
let data = res.data.data;
this.wexinPay(data,
//成功回调函数
res => {}
);
}
else {
//失败提示
}
});
}