這裡是簡要的一些微信支付,公眾號支付的一些流程,包括以下配置信息,錯誤信息等,並不全面,但是希望能夠幫助到大家,不喜勿噴,我也是新手,也當是給自己寫了一個筆記,加深一下影響,以後再遇到,也能方便自己的學習
微信支付已經做完了,沒接觸過微信的我,經歷了非常艱難的3天,才把微信支付給做出來,對於專業的人來說,估計就是一小時就搞定的事情了,雖然說做了很長時間,但是確實也學到東西了,也收穫了不少,下麵跟大家分享一下微信支付的整個流程,遇到跟我同樣問題的同學可以看一下
我接手的時候,微信的公眾號什麼的,都已經申請下來了,接收微信伺服器回發消息的頁面也早已經被前人做好了,而且微信支付的服務也已經申請下來了
微信公眾號平臺:https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
我會以圖文的形式整理一下過程,可以有些雖然剛做過,但是都有些記不住了,沒辦法,樓主記性不好
在這裡說明一下,樓主並沒有在本地搭建環境來測試,都是一步一個錯,然後找答案過來的,所有我也不知道怎麼搭建本地的環境。
下麵開始整理:
1:剛開始做的時候,需要配置一些東西,當然這都是一些最基本的東西
上圖裡面的屬性都是要在代碼裡面進行配置的哦,所有提前來這裡看一下,加深一下映像
下麵看一下代碼裡面是怎麼配置(在這裡只挑一些重點說一下,其他的註釋都能看明白的啦)
APPID:就是上面剛剛說到哈
MCHID:商戶號就是在公眾號裡面的微信支付欄裡面的第一個哈,裡面這些信息有
KEY:這裡要說一下,半途進來做支付的童鞋們要註意一下,商戶支付密匙,要進入商戶平臺裡面查看的哦
https://pay.weixin.qq.com/index.php/home/login?return_url=%2F(商戶支付平臺)
這裡有如何獲取密匙的文章哈,樓主當初就是根據這個來找到的:
http://help.ecmoban.com/article-2085.html
APPSECRET:不多說,還是一篇文章:http://jingyan.baidu.com/article/6525d4b12af618ac7c2e9468.html
這裡的證書路徑,一定要正確哦,最好就是在當前項目上新建一個文件夾,把證書放裡面去,不然會出錯的哈
證書的下載大家到微信的商戶平臺上面,好像是跟商戶支付密匙是在一個地方的,到時候大家下載一份就可以了
證書的密碼,就是我們的商戶號啦;上面的MCHID,就是證書的密碼
IP:這裡的IP就是伺服器上面的IP地址,格式:192.11.11.111,就是類似這種的,千萬不要加上埠號,已經Http,這些,不然出錯的哈
基本的配置信息都在上面了,還要一點,就是關於授權目錄的問題,這裡錯了也是支付不了的哈
這裡的授權目錄,一定要在你支付頁面上,不然支付的頁面沒有許可權去支付了,註意:大小寫千萬不能錯哦,不然也是錯了(當初樓主支付不了的時候,還以為是少了埠號,自作聰明的加了上去,結果還是錯誤的,這裡不需要加埠號,大家也不要浪費這個時間了)。
因為樓主這裡已經是做好了,所有就沒有用測試目錄了,大家剛做的時候就可以在測試目錄上面測試,記得添加測試的白名單,不然你的微信在公眾號裡面也沒有權利支付的哦
下麵給大家發一下Demo,樓主用的是官網上面給的(各個語言的都有哈)
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1#
建議大家可以在這裡面看看文檔,調用介面這種東西,一定要多看文檔(樓主偷懶了,所有做了這麼長的時間才做好)
另外,樓主遇到的是MVC項目下麵的項目,所有改了很多地方,不過官方的demo註釋挺多的,用起來還是挺好的,大家看著修改一下就好啦
常見的一些錯誤:
下麵給大家說一下樓主遇到的一些問題:
1:錯誤提示:“抱歉,處理您的信息時出現錯誤”,可能說的不對,記不清楚了,大概就是這樣說的,一進頁面,什麼都沒有,就這個一句話
解決方法:不用說,肯定是代碼寫錯了,或者參數傳遞的不對,樓主當時是一個參數的數據類型不對,導致出現的這樣的問題,遇到這樣的問題,檢查一下代碼,至少可以排除是配置上面的問題了
2:錯誤提示:“缺少參數”,至於缺少什麼參數,就看你自己的提示了,不過這種問題相對很好解決,比較已經很明確的告訴你問題在哪了,看一下後臺有沒有獲取到這個參數,或者這個參數的數據類型,格式對不對,樓主當時是因為json的格式被前臺把引號給當成轉義符了,所有一直報錯。
3:還有一些問題,我在群里跟大家聊天的時候遇到過,什麼多了一個空格啦,什麼字母大小寫問題啦,這些問題,大家敲代碼的時候註意一點就能避免了,有個哥們,多一個空格找了兩天
4:還要一些關於簽名,隨機字元串這些的問題,推薦大家還是不要去手動的生成了,官方給的demo裡面都已經把代碼寫好了,而且不會出錯,大家儘量不要隨意的去修改,不然錯了都不知道是為什麼
就說這麼多了,樓主也不可能把每句代碼怎麼修改的一一告訴大家了,只是給大家提供一些大致的問題,樓主也是新手,有根實際情況不對的,希望大家能諒解
送大家一句話:如果只做力所能及的事,你永遠不會進步