也不知道為啥,三四月份的時候,鬥志很強,到了九十月份了就不太想奮發了,感覺整個人都沒有太多精力,也不想學其他的了,特别是大資料學到spark sql,完全被整死了,安裝這個那個,搞一個HBASE我就感覺不易,真的如果沒有工作的原因,完全學不下去,是以國慶到現在,基本沒有自學了。正好這半個月又在給一個系統調研新需求,每天基本都很充實,回家逗一逗閨女,今天就湊個時間出來,把十月做的一個微信掃一掃支付給大家看看,開發不易,從看微信公衆号開發文檔,到畫自己了解的流程圖,到動手然後借鑒網上很多開源的代碼以及結合作為一個公共子產品的使用。
好了,廢話不多說,代碼走起.。
微信掃碼支付文檔位址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_1
這個都不看的朋友就别往下面看了。為了追求複雜,我自己寫了個流程圖:

其實這個是吓人的啦,太複雜,是以一般都是使用模式二去實作支付:
https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5
接下來我就是要貼代碼了,感覺不那麼正宗,幾十個類,貼代碼出來那豈不是都不用看了,我貼最終的效果。然後把GitHub的位址發出來,大家一起來完善加強這個開源的子產品。
GitHub:https://github.com/itliuxing/weixpay
本次微信支付子產品主要實作的功能如下:
- 待掃一掃付款訂單微信支付二維碼生成
- 微信支付回調
- 微信支付訂單查詢
- 微信支付訂單關閉
- 微信NATIVE支付
- 微信JSAPI支付 未能測試
- 二維碼生成
通路此連結即生成二維碼:
http://localhost:8080/weichat_p/qr
- 查詢訂單
生成二維碼時,查詢訂單是需要使用者傳入訂單号的,這個訂單号在查詢時必須傳
- 關閉訂單
生成二維碼時,關閉訂單也是是需要使用者傳入訂單号的,這個訂單号在關閉時必須傳。
- 關閉後再查詢此訂單
在查詢時即失效:
- 建立一個新訂單支付後再查詢此訂單
- 配置檔案
配置檔案内有幾項必改:
回調域名:
發起支付IP:
回調全位址:
其他的配置看着改。
- 整個開發文檔目錄
- 已測試通過
- 微信支付成功後回調
http://localhost:8080/weichat_n/notify
回調我們需要使用post方式接
- JSAPI支付
本次未使用,整合前面開發過的功能
- 微信公衆号需要配置
微信支付回調的URL路徑優先級:
最大優先級:支付生成的notify_url至微信平台的有優先權
低一點:配置到公衆号平台的掃一掃回調位址
OK,看懂就可以了