-支付寶支付
-商戶號:須要跟支付寶申請,這個必需要有公司的營業執照(開發人員在開發以前就拿到了商戶號)
-appid:開發用的商戶的惟一id
-開發人員須要去支付寶官方文檔按照步驟一步一步作(有人幫你封裝好了)
-沙箱環境(測試環境) 地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
登陸註冊之後能夠獲得沙箱環境的appid
支付寶網管 https://openapi.alipaydev.com/gateway.do(朝該地址發送請求)
沙箱帳戶:提供買家信息和商家信息都是虛擬的
沙箱工具:下載沙箱環境下的虛擬app
-點擊設置應用公鑰,查看祕鑰生成方法,下載祕鑰生成工具(運行RSA簽名驗籤工具.bat」(WINDOWS))
-三種祕鑰(非對稱加密:公鑰加密,私鑰解密)
-應用私鑰(商戶私鑰):不能外泄
-應用公鑰:能夠給別人
-支付寶公鑰:在支付寶開發平臺配置上應用公鑰,自動生成支付寶公鑰
-在項目中配置兩個密鑰:
-應用私鑰
-支付寶公鑰(不是應用公鑰,是應用公鑰生成的支付寶公鑰)
-支付寶支付流程****************************:
-1 生成一個AliPay對象,傳入appid,get回調地址(用於頁面的跳轉),post回調地址(用於最後的檢測),
商戶私鑰(配置在app_private_2048.txt),支付寶公鑰(配置在alipay_public_2048.txt)
-商戶公鑰和私鑰是支付寶提供的軟件生成的
-支付寶的公鑰:在網站上經過商戶公鑰生成的
-2 調用對象的direct_pay()方法,傳入商品描述,商品訂單號,商品價格,返回一堆字符串,拼接到支付寶網關的後面
-3 向支付寶網關發送get請求,看到支付頁面,用戶付款
-4 付款成功,支付寶會有一個get回調,一個post回調(須要用alipay.verify對回調內容進行驗籤)
-通常get回調用於顯示頁面
-post回調用於修改訂單狀態
支付寶返回的數據
{'gmt_create': '2019-04-04 10:31:21',
'charset': 'utf-8',
'gmt_payment': '2019-04-04 10:31:33',
'notify_time': '2019-04-04 10:31:34',
'subject': '充氣娃娃',
'sign': 'am0BCP1/GSxhBa11o+YBd4/fZJN1+hLmYgB4WAyX5ep+kQNTEwbzvI6mIqr42c5/Km8+LZRUJ8wbE/X99XLVKIjUiVeFRfbeQD2NBylhdPaOZaO7UpMYKlgVDqvHZ0ic6Cv1Mqk+1z+GknGt+T1h4ST4X7a9AzJSzB/tEKBYJbJGJEKeI3Pu5wmJENAyhOORYeQBkyLCBewCckCuS9+AUP/LMgrO0jb9Cp/qL8y/SqIisIhMGqNZM6kNLeXvJ74gr0fpdtKpKFj5xv/LM9VHQvrDl0jLzv2rAtUl1TahchpbUb/5mjgEBnTOHzBD04ZAmKEUymlSHxvkbFpShakWVQ==', 'buyer_id': '2088102176738683',
'invoice_amount': '1000.00',
'version': '1.0',
'notify_id': '2019040400222103133038681000092328',
'fund_bill_list': '[{"amount":"1000.00","fundChannel":"ALIPAYACCOUNT"}]', '
notify_type': 'trade_status_sync',
'out_trade_no': 'x21554345048.4412248',
'total_amount': '1000.00', 'trade_status': 'TRADE_SUCCESS',
'trade_no': '2019040422001438681000028458',
'auth_app_id': '2016092000554611', 'receipt_amount': '1000.00',
'point_amount': '0.00', 'app_id': '2016092000554611', 'buyer_pay_amount': '1000.00',
'sign_type': 'RSA2', 'seller_id': '2088102176466324'}
須要安裝Crypto模塊須要使用pip3 install pycryptodome安裝
https://www.cnblogs.com/liuqingzheng/articles/10072695.html
-公衆號(不能主動與粉絲聊天)
-未認證公衆號
-一天只能推送一條
-已認證工做號
-一天推送多條
-服務號(微信推送須要服務號,微信提供了測試的沙箱環境,完成微信推送前提是關注服務號)
-註冊服務號須要企業資質(營業執照)
-主動推送消息
-企業號
-企業中使用
-企業中溝通
# 沙箱環境地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
登陸成功之後關注服務號,而後綁定我的帳戶(wx_id)
咱們掃的全部二維碼本質上都是url地址
-url地址能夠轉成二維碼
-二維碼也能夠解析出url地址
python後臺提供了模塊QRcode能夠生成二維碼
前臺js也能夠將url轉換成二維碼
-微信推送的流程:
-1 登錄成功,須要用戶關注個人服務號(掃描一下二維碼)
-2 想讓用戶把微信惟一id添加到數據庫中
-2.1 用url(微信的)地址生成了一個二維碼,讓用戶去掃描(包含回調地址,包含用戶惟一id)
-2.2 當用戶掃描二維碼,向微信服務器發送get請求,用戶點確認,微信會回調到我們的/callback/
-2.3 回調該地址,只攜帶用戶的惟一id回來,並無用戶微信id
-2.4 向微信一個地址發送請求,去請求用戶的微信id,請求回來
-2.5 根據用戶惟一id,去修改用戶的微信id,完成後,我們數據庫就會存入用戶的微信id
-3 發送消息
-用用戶微信id推送消息(普通消息和模板消息)
-3.1 須要獲取token
-3.2 調用發送消息接口,按照數據格式發送過去,就能給用戶推送消息了