網(wǎng)上找了很多教程,但是很亂很雜,并且教程資源很少且說的詳細(xì)。這里就記錄一下分享給大家
共分為以下幾個步驟:
目錄
一、開始前準(zhǔn)備信息
二、使用前端code獲取用戶的openid
三、對接小程序v3接口下單
四、小程序支付的回調(diào)
五、安裝并啟動uwsgi
六、安裝并啟動nginx
七、配置nginx的nginx.conf文件,讓部署的項(xiàng)目以https訪問
八、后端代碼:
九、常見問題及小技巧
代碼將在最后一起貼出,先開始流程步驟,弄明白流程,代碼讀起來自然簡單
下面一步步的開始:
一、開始前準(zhǔn)備信息
-
需要在注冊小程序和在微信支付平臺開始微信支付,并將在小程序后臺和商戶關(guān)聯(lián)綁定。
-
接入前準(zhǔn)備,直接參考微信支付官方文檔:接入前準(zhǔn)備
?3. 操作完成之后獲取到appid,appsecret,pay_key,serial_num
appid:小程序里獲取的appid
appsecret:小程序里獲取的appsecret
pay_key:API密鑰。需要登錄微信商戶平臺,進(jìn)入【賬戶中心 > API安全 】目錄,設(shè)置APIV3密鑰。這個密鑰確保32位,自定義設(shè)置
serial_num:API證書序列號。登錄微信商戶平臺,進(jìn)入【賬戶中心 > API安全 】目錄,申請API證書,完成申請后會有API證書序列號,完成微信支付后臺配置證書后并下載該證書文件,有一個apiclient_key.pem密鑰文件,之后對接支付會用到。
二、使用前端code獲取用戶的openid
參考官方文檔: 小程序登錄流程
-
前端使用wx.login()獲取臨時登錄憑證code,傳給后端,后端接收code并請求auth.code2Session接口獲取openid
三、對接小程序v3接口下單
參考官方文檔: 開發(fā)指引、v3接口JSAPI下單
-
調(diào)用JSAPI下單接口,傳遞接口必要參數(shù),獲取prepay_id,并再次加密驗(yàn)證簽名,將timeStamp,nonceStr,package,signType,paySign參數(shù)交由前端并由前端拉起支付頁面。
四、小程序支付的回調(diào)
-
支付完成之后,微信支付會自動調(diào)用在下單配置的回調(diào)地址(這個地址必須是https的),解密并驗(yàn)證應(yīng)答簽名中的序列號是否和平臺證書序列號一致,一致時就可以做項(xiàng)目相關(guān)的操作,比如修改訂單支付狀態(tài)
五、安裝并啟動uwsgi
-
直接在服務(wù)器上使用pip3 install -i https://pypi.douban.com/simple uwsgi 快速安裝uwsgi,并將django的項(xiàng)目代碼上傳至服務(wù)器,創(chuàng)建一個uwsgi.ini文件,添加以下內(nèi)容:
socket=0.0.0.0:8000 # 使用https方式,這里地址必須與nginx配置里的uwsgi_pass一致 chdir = /home/foobar/myproject/ # django項(xiàng)目的根目錄路徑 wsgi-file = myproject/wsgi.py # django項(xiàng)目下的wsgi.py文件,也可以寫成絕對路徑 processes = 4 # 進(jìn)程數(shù) threads = 2 # 線程數(shù) pidfile=uwsgi.pid daemonize=uwsgi.log master=True
-
運(yùn)行和停止uwsgi
在同uwsgi.ini文件的路徑下運(yùn)行uwsgi --ini uwsgi.ini 運(yùn)行后會在uwsgi.ini生成uwsgi.pid文件,使用uwsgi --stop uwsgi.pid可停止運(yùn)行。如在停止時報(bào)進(jìn)程號的錯誤,可使用ps -ef | grep uwsgi查看uwsgi運(yùn)行的進(jìn)程號,復(fù)制并替換uwsgi.pid里的進(jìn)程號后重新運(yùn)行停止命令即可
六、安裝并啟動nginx
1,請到nginx官方下載nginx安裝包(tar.gz格式),并上傳至服務(wù)器
使用以下命令解壓安裝:
sudo tar -xvf nginx-1.13.7.tar.gz
cd nginx-1.13.7
sudo ./configure
sudo make
sudo make install文章來源:http://www.zghlxwxcb.cn/news/detail-526714.html
默認(rèn)安裝到/usr/local/nginx下,需要配置nginx.conf文件(文章來源地址http://www.zghlxwxcb.cn/news/detail-526714.html
到了這里,關(guān)于Python對接微信小程序V3接口進(jìn)行支付,并使用uwsgi+nginx+django進(jìn)行https部署的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!