實現步驟
一、開發前奏
開發工具:eclipse
jar管理:maven
數據庫:oracle
架構:SpringMvc + Spring +Mybatis
微信公衆號:企業號(個人訂閱號和公衆測試號無此權限)
二、開發步驟
1、開發前請先查看文檔微信掃碼支付流程,統一下單接口和設置回調接口,對整個流程有一些認識。
2、開發過程中需要的參數如下圖所示。
##############################固定參數部分##############################################
#公衆賬號appid
appid=
#商戶號:微信公衆平臺——微信支付——商戶信息——基本信息——商戶號
mch_id=
#掃碼支付回調接口(掃碼回調url沒有嚴格規定的,域名和IP都可以,其他非80端口的也是可以的)
notify_url=
#交易類型,一般爲NATIVE
trade_type=NATIVE
#請求的微信支付接口
ufdoder_url=https://api.mch.weixin.qq.com/pay/unifiedorder
#api密鑰:微信商戶平臺(pay.weixin.qq.com)-->賬戶設置-->API安全-->密鑰設置
api_key=
#用於請求參數的身份驗證(不需要發給微信)
secertKey=
##############################動態可添加參數部分##############################################
############商品1#######
#商品名稱
title_test_000=
#交易金額(單位:分)
fee_test_000=
############商品2#######
title_test_001=
fee_test_001=
3、應用運行整體流程圖
4、設置回調接口接收微信通知消息
具體可查看文檔設置回調接口
5、支付成功通知給客戶端
方式一:前端js定時輪詢數據庫,看看是否已經支付成功,如果成功發生頁面跳轉。
方式二:編寫windows服務,不斷查詢數據庫,如果支付成功則下發通知短信。可參考我的製作windows服務
源代碼下載鏈接:
https://github.com/flypangzhi/wechat-payinterface
備註:功能是實現了,不過還有很多地方可以優化,優化的任務就交給大家啦。
參考鏈接
log4j.properties配置詳解與實例
Log4j 日誌文件存放位置設置
JAVA微信掃碼支付模式二功能實現完整例子