記錄微信公眾號h5支付(前端部分)
- 前一段時間換了一家公司,剛來給了一個專案,h5移動端頁面,涉及登陸註冊、微信繫結、購買等。微信支付之前沒做過,不過比較簡單,在這裡記錄一下。
先上官網文件
第一步,先拿到code,拿到code傳給後臺。
- 這段程式碼填上就可以用,當使用者確認授權以後返回定義的url後,url後就有code引數,然後吧code提出來。
var appid = "公眾號id";
var redirect_uri = encodeURIComponent("成功以後返回地址");
window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo#wechat_redirect"
複製程式碼
function parse_url(url) {
var pattern = /(w+)=(w+)/ig;
var parames = {};
url.replace(pattern, function (a, b, c) {
parames[b] = c;
});
return parames;
}
var url = window.location.href;
var params = parse_url(url);
複製程式碼
var appIdVal = appId;
var timeStampVal = timeStamp;
var nonceStrVal = nonceStr;
var packageVal = package;
var signTypeVal = signType;
var paySignVal = paySign;
複製程式碼
function onBridgeReady(){
WeixinJSBridge.invoke(
`getBrandWCPayRequest`, {
"appId":"",
"timeStamp":"",
"nonceStr":"",
"package":"",
"signType":"",
"paySign":""
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ){
}
});
}
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{
onBridgeReady();
}
複製程式碼
- 樓主遇到的問題第是公眾號配置問題,因為公眾號不是我自己配置,前端部分寫好後一直拉不起支付,後來也是各種百度,最後確認是授權頁面回撥地址錯誤。
- 至於後臺樓主就不太清楚了,沒研究過。在這裡記錄一下,希望對其他人有點幫助。