微信公眾號開發(fā)是很常見的開發(fā),其中微信支付占有很大的比重。微信公眾號分為服務號和訂閱號,服務號支持微信支付。
前期準備:
1.微信認證服務號,并且開通了微信支付
2.微信支付SDK,下載地址:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
3.登錄微信支付平臺https://pay.weixin.qq.com/index.php/account/api_cert下載支付證書
方法步驟(已ThinkPHP框架為例):
1、demo文件下載放在根目錄下

2、配置入口文件

3、打開lib文件夾下的WxPay.Config.php文件,第25行開始,根據(jù)自己的賬號完成基本信息設置;

4、打開cert證書目錄,將里邊的兩個證書換成自己的支付證書。
支付流程:
1、結(jié)合微信demo文件,封裝微信支付方法,放在公共方法里面,方便調(diào)用


2、發(fā)起支付

3、通過前端jsApiCall()函數(shù)可以監(jiān)聽支付結(jié)果,但是這個并不可信。確認是否支付成功還是應當通過notify.php 處理業(yè)務邏輯。前邊配置好了支付驗證鏈接SetNotify_url(),支付完成后,微信服務器會根據(jù)鏈接自動請求你的notify.php文件

這里面的$xml=$GLOBALS['HTTP_RAW_POST_DATA'],就是支付成功后用戶返回給你的一個結(jié)果,他是一個xml格式的字符串。
我們可以將這里返回的xml數(shù)據(jù)記錄下來,然后打開看看$out_trade_no就是在支付之前我自己設置的訂單號碼,$attach就是設置的附加參數(shù)。
得到了這個訂單號,然后我就直接在下面寫支付成功后的邏輯了,比如改變數(shù)據(jù)庫中的數(shù)據(jù)等等。
這樣 微信支付的 JsApi支付就大致分析完成了。