支付寶支付
-支付方式:
-支付寶支付
-微信支付
-銀聯支付
-用支付寶支付需要有個商戶號,企業去申請,並且需要企業營業執照:申請完了會有商戶號:2034944555
-沙箱環境(測試環境)
https://openhome.alipay.com/platform/appDaily.htm?tab=info
直接解壓alipayDemo.zip,打開直接使用,需要改一些配置,alipayDemo.zip下載
鏈接:https://pan.baidu.com/s/1MEdXw7a2wsm4QlV41AOc4g
提取碼:nw4z
百度支付寶公共平台,直接支付寶登錄,開發中心》》研發服務》沙箱,手機下載沙箱支付寶
點開后,生成密鑰
商戶應用私鑰放到app_private_2048.txt中
商戶應用公鑰復制到沙箱應用例的應用公鑰,生成支付寶公鑰
將支付寶公鑰復制到alipay_public_2048.txt
-加密方式
-對稱加密:加密秘鑰和解密秘鑰用的是同一個
-非對稱加密:加密和解密的秘鑰不同,公鑰可以隨意分發,但是私鑰一定不能泄露
-安裝模塊
pip3 install pycryptodome 加密解密的模塊
-支付寶支付流程:
-1 拿到商戶號,回調地址,支付寶公鑰,我的私鑰---生成一個對象(AliPay)
-2 對象.direct_pay 傳支付金額,支付商品描述,支付訂單號---返回個加密的串(把前面參數加密了)
-3 拿到加密的串拼到get請求參數部分pay_url = "https://openapi.alipaydev.com/gateway.do?{}".format(query_params)
-4 重定向到該地址(向該地址發送get請求)
-5 用戶付款,付款成功支付寶會給我發送兩個請求,一個是get請求,一個是post請求
-6 咱們的程序需要處理這兩個回調請求(請求回來需要驗證簽名)
-get請求一般用於頁面展示
-post請求用於修改訂單狀態
-項目中需要配置:公鑰私鑰生成方式:https://docs.open.alipay.com/291/105971
-支付寶公鑰:商戶號中輸入的應用公鑰,會自動生成一個支付寶公鑰,把它粘貼過來
-應用私鑰(用戶私鑰)
-支付寶回調返回數據中會有:
-singn:必須驗證簽名,驗證通過才能進行后續的修改
-訂單id
-根據訂單id修改訂單狀態
-如果用戶付款了,但是你服務掛掉了?
-如果服務掛掉了,支付寶過一會會自動在回調(24內,隔一段時間就會回調),重啟服務器即可