我們先看規則:
-
1、所有使用公眾號支付方式發起支付請求的鏈接地址,都必須在支付授權目錄之下;
-
2、最多設置5個支付授權目錄,且域名必須通過ICP備案;
-
3、頭部要包含http或https,須細化到二級或三級目錄,以左斜杠“/”結尾。
前兩條比較容易理解,
但是看到第三條的時候有一些蒙圈有木有?如果有,請繼續往下看
然后就各種搜索,搜出來的文章會讓你更加蒙圈有木有?大多數文章都是寫微信支付的坑,但是對於解決方法卻是語焉不詳。
-------------------------------------分割線----------------------------------------
本人當前項目使用vue全家桶做微信H5 開發,一個SPA應用,其中有用到公眾號的微信支付。在支付授權目錄上也是折騰了很久。
回到支付授權目錄的設置第三條上面,這句話本身寫得確實讓人看不明白,甚至會將人引入歧途。
第一次調用Weixin.chooseWXPay時彈出的提示是{“errMsg”:”chooseWXPay:fail”},是的,沒有一點多余的信息,最后查文檔才發現是沒有配置微信支付授權目錄。
配置的具體規則是這樣的:
1、比如:調用以上JSSDK的頁面地址為 http://a.b.com/pay/weixin/c.html,
那么:授權目錄配置為 http://a.b.com/pay/weixin/,
2、比如:調用以上JSSDK的頁面地址為 http://a.b.com/pay/weixin,
那么:授權目錄配置為 http://a.b.com/pay/
3、比如:調用以上JSSDK的頁面地址為 http://a.b.com/pay,
那么:授權目錄配置為 http://a.b.com/
4、如果有QueryString,自動忽略
比如:調用以上JSSDK的頁面地址為 http://a.b.com/pay/weixin/c.html?name=mango,
那么:授權目錄配置為 http://a.b.com/pay/weixin/
可是,我這是基於vue的SPA,
親測將支付授權目錄配置為域名即可。
比如:調用以上JSSDK的頁面地址為 http://a.b.com/#/pay/weixin/c.html?name=mango,
那么:授權目錄配置為 http://a.b.com/