微信支付開發流程
1. 開通微信支付功能
省略
2. 下載微信的C#版的微信SDK
下載連接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
各個版本的都有,可惜咱最熟悉C#
我的下載時間是2016-02-28日,所以所有的流程都是基於這個版本的SDK。
3. 配置各種參數
首先在微信支付的開發配置中配置發起支付的路徑如下:
代碼的solution中找到lib的config.cs文件,如下圖,所有的參數都在這里,這里配置成功了,支付也就成功。
細說一下這個類文件中的幾個參數
相信這幾個參數大家都很熟悉,
APPID: 微信公眾號的APPID,有點開發經驗的都知道,
APPSECRET:公眾帳號secert,
MCHID:商戶號(必須配置), 這個在申請微信支付的郵箱中有,
KEY:商戶支付密鑰,參考開戶郵件設置,相對來講這個是最復雜的,
登錄微信支付商戶平台后,點擊API安全,如下圖,按照步驟設置即可,設置之后填寫進來
微信證書,在上面的頁面中按照步驟下載證書,替換你代碼中文件中的cert
同時在服務器上雙擊這個證書,安裝在服務器中(也不知道是不是必要的步驟)。
代碼中的LOG 默認是不記錄的,如果要打開,把LOG_LEVENL 設置為>0的。
設置微信JSAPI安全域名
由於這個demo代碼中還使用了微信的授權,所以需要在微信的服務號的接口權限中設置安全域名,也就是微信支付的域名
部署服務器測試
把代碼復制到服務器上,直接訪問demo頁面如下
按理來講 現在的支付已經成功了。
微信大坑
但是,在進入JSAPI支付時,無論如何也不成功,但是也不報任何錯誤,最近經過調試發現,JsApiPayPage.aspx頁面中的支付按鈕不正確,目的是調用JS callpay 方法,但是寫的是一個服務器端控件,如下圖中的紅色部分,是官方代碼。
問題知道了,解決就很容易了,直接用一個HTML控件調用callpay方法即可,下圖中藍色代碼。
總結
整理上來講,微信提供的demo和SDK已經很簡單了,但是就是那么一點點的錯誤會浪費新手很長時間不知道如何解決(也許是我笨)。希望微信官方團隊少出現點類是的錯誤吧。關於微信技術的任何問題可以加QQ群 497370827(2群)討論。共學習,共進步。
教程導航:
微信開放平台 公眾號第三方平台開發 教程二 創建公眾號第三方平台
微信開放平台 公眾號第三方平台開發 教程三 一鍵登錄授權給第三方平台