最近都在使用Python做開發(fā),開展了包括網站,小程序的服務器,還有一些系統(tǒng)等等,踩了不少坑。今天就來說說使用Python對接支付寶的流程和對接時候遇到的一些讓人比較頭疼的問題
第一步:導入支付寶接口的sdk,有兩種方法可以導入,一種是直接使用Python安裝python-alipay-sdk
1.沒安裝過的直接pip install python-alipay-sdk
2.安裝過的,升級一下版本 pip install python-alipay-sdk --upgrade
第二種的話直接去支付寶的開放平臺下載SDK文件,將alipay文件夾所有文件放到項目里,兩種方法都很簡單
https://opendocs.alipay.com/open/54/103419/
Python環(huán)境的話還需要安裝Crypto的包,直接pip install crypto
第二步:創(chuàng)建應用,應用需要支付寶后臺進行審核,審核通過后會分配一個appid作為一個唯一標志(關鍵參數)。如果還沒有創(chuàng)建完成應用的,可以使用支付寶的沙箱環(huán)境先進行測試開發(fā),可以根據自身需求,先在沙箱環(huán)境中了解、組合和調試各種開放接口,進行開發(fā)調通工作
第三步:需要給我們的應用設置秘鑰,秘鑰分為公鑰和私鑰,生成秘鑰需要下載支付寶的支付寶開放平臺開發(fā)助手來生成,生成之后將公鑰上傳到對應的小程序,私鑰的話自己需要保存好,需要特別說明的是,密鑰長度選擇RSA2,秘鑰格式選擇PKCS1(非JAVA適用),因為程序之前已經生成過了秘鑰,所以就直接拿過來使用了,但是最后發(fā)現(xiàn)一直報錯,原因就是秘鑰選錯了格式,Python不適用
第四步:appid和秘鑰已經獲取到之后就可以進行代碼的具體操作了,熟悉了之后還是很簡單的,主要就是幾個步驟,第一步根據需要調用接口去找對應的model,一般文件名跟接口的名稱都是一致的,文件特別多最好是根據接口的文檔去找文件,在Python環(huán)境下的話一個接口至少要導入兩個接口文件model和request,然后就是通用的client文件,一般model文件是用來設置需要發(fā)送的參數等信息,request文件是用來發(fā)送請求和設置請求信息,設置完成之后用client調用execute發(fā)送即可得到支付寶返回的信息,返回的信息如果有錯的話大部分都是參數設置的不對,多調試幾次基本上就能搞定,最后貼在一張項目示例代碼
最后進行一波踩坑的總結吧:
1.如果遇到需要Python安裝crypto包,安裝了之后還是提示Crypto沒有安裝的話,手動把包文件的C改成大寫
2.注意秘鑰的格式,Python需要PKCS1(非JAVA適用)格式
3.如果發(fā)現(xiàn)一直報Appid錯誤,但是檢查了之后發(fā)現(xiàn)Appid沒有錯,檢查接口的請求地址是否填成了測試地址
4.支付寶請求接口內置有兩種請求的方法,execute和sdk_execude需要仔細閱讀接口文檔選擇對應的請求方式