微信掃碼i支(zhi)付~官(guan)方DEMO的(de)坑(keng)
之前寫過關于微信支付那些坑的文章(《微信JSApi支付~集成到MVC環境后的最后一個坑(網上沒有這種解決方案)》,《微信JSApi支付~坑和如何填坑》),下面說一下微信官方提供的"掃碼支付",一配置,一運行,生成了一個二維碼,手機一掃,出現了"獲取商戶訂單信息超時或商戶返回httpcode非200",在百度上(shang)(shang)一問,都是(shi)說(shuo)簽(qian)名錯誤,當然我的簽(qian)名一定沒錯,所以,還要自己(ji)找(zhao)問題(ti),經過了(le)(le)一翻(fan)測試與日志,終于找(zhao)到了(le)(le)一個(ge)點,那(nei)就是(shi)關于字典類型(xing)的對(dui)象的判斷上(shang)(shang),判斷一個(ge)沒不(bu)(bu)在的鍵(jian),然后(hou)使用這個(ge)鍵(jian),然后(hou)就是(shi)失敗,連異(yi)常都不(bu)(bu)報,暈!
下面(mian)是關于掃碼支持(chi)用到(dao)的(de)文件
簡(jian)單說一下這(zhe)幾個文件的功(gong)能(neng)
NativePayPage.aspx:掃碼(ma)支付發(fa)起頁(ye)面(mian)
NativeNotifyPage.aspx:由微信(xin)服務端進(jin)(jin)行(xing)(xing)回調的(de)頁面,這個(ge)在公眾平臺進(jin)(jin)行(xing)(xing)設(she)置(微信(xin)支(zhi)(zhi)持->開發設(she)置->權限目錄;微信(xin)支(zhi)(zhi)持->開發設(she)置->支(zhi)(zhi)付回調)
ResultNotifyPage.aspx:處理微(wei)信(xin)訂單信(xin)息,在WxPayConfig類里進行配(pei)置
最后,我們(men)將官方的DEMO里(li)的BUG注(zhu)釋一(yi)下(xia), 支付就(jiu)可(ke)以(yi)成功(gong)了
文件:WxPayData類的FromXml方法(fa),把(ba)對應的代碼注釋即可,因為這時,m_values字典(dian)里根本(ben)沒有return_code鍵(jian),所(suo)以不能處理(li)成功.
對(dui)于知識(shi)的研(yan)究,我們有時確(que)實(shi)要(yao)多加后日志,請不(bu)要(yao)太相信大公司寫的公開API,它們可能也有BUG!