先对接后台给的接口,拿到微信支付所需要的参数,再执行下列的函数
jsApiCall(appId, timeStamp, nonceStr, wxpackage, signType, paySign, successFun, errorFun) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"debug": true,
"appId": appId, //公众号名称,由商户传入
"timeStamp": timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": nonceStr, //随机串
"package": wxpackage,
"signType": signType, //微信签名方式:
"paySign": paySign //微信签名
},
function (res) {
//alert(JSON.stringify(res));
WeixinJSBridge.log(res.err_msg);
if (res.err_msg == 'get_brand_wcpay_request:ok') {
successFun();
} else {
errorFun();
}
}
);
}
successFun是支付成功的回调函数
errorFun是支付失败的回调函数
遇到问题:vue项目微信支付报“当前url未注册”的问题
因为vue单页面项目会在url中加#号,会导致我们配置的支付根目录与实际目录不符
比如配置的支付根目录是:http://www.xx.com/
当我们要支付的时候页面地址可能是:http://www.xx.com/#/pay,这样就会报这个错误。
解决方法:将‘#’替换成‘?#’
if (window.location.href.indexOf("?#") < 0) {
window.location.href = window.location.href.replace("#", "?#");
}
版权声明:本文为qq_43146962原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。