微信公众号支付功能
1 引用微信的SDK
npm install weixin-js-sdk --save
import wx from 'weixin-js-sdk'
2 调用微信支付
methods: {
// 充值
payment() {
// 向后台请求appid的接口
this.http("/wx/orders").then(data => {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
}
} else {
this.onBridgeReady();
}
});
},
// 调起微信支付
onBridgeReady(data) {
let that = this;
window.WeixinJSBridge.invoke("getBrandWCPayRequest", {
appId: data.appId, // 公众号名称,由商户传入
timeStamp: data.timeStamp, // 时间戳,自1970年以来的秒数
nonceStr: data.nonceStr, // 随机串
package: data.package,
signType: data.signType, // 微信签名方式:
paySign: data.paySign // 微信签名
},
function(res) {
if (res.err_msg === 'get_brand_wcpay_request:ok') {
that.$u.toast('支付成功!');
} else if (res.err_msg === 'get_brand_wcpay_request:cancel') {
that.$u.toast('支付取消!');
} else {
that.$u.toast('支付失败!');
}
}
);
},
},