關於微信支付的一個坑,在此記錄一下。
阿新 • • 發佈:2018-12-16
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/sctzkj/article/details/72681882
由於專案需要,
必須要做微信支付。
以前只做過支付寶,沒做過微信。
就在官方下載了DEMO研究。
一切都很順利,順利完成。
結果遇到個問題。
只有自己的微信能夠實現支付。
其他帳號均提示 “下單帳號與支付帳號不一致”,並且報錯。
於是就研究。
發現錯誤中提示wxdata 有引數為NULL。
再進一步研究,
發現沒有獲取到 OPENID .
於是通過snsapi_base 方式獲取openid。
自定義菜單鏈接 設定為https://open.weixin.qq.com/connect/oauth2/authorize?appid=*****&redirect_uri=http://****/wx_getback.aspx?npage=m_login&response_type=code&scope=snsapi_base&state=1#wechat_redirect
利用wx_getback 頁面獲取openid 並 通過 npage 引數 跳轉到自己需要的頁面。
openid 通過session 進行傳輸。
使用者每次進入都由wx_getback跳轉並獲取openid。
就這樣搞定了。
一定要每次支付的時候都是session裡面新獲取的openid,不使用已存入資料表的openid(不然有可能會報下單賬號與支付賬號不一致的問題),並且支付的微信公眾號賬號和獲取openid的公眾號要一致。
歡迎遇到相同問題的朋友一起交流!
轉載地址: