1、H5微信支付
1.1、配置
作用:在H5支付完成后有權限跳轉到這個前端域名下,一般該域名下頁面為支付完成狀態頁面
步驟:在微信支付商戶平台中,產品中心-》開發配置-》H5支付中,配置域名
1.2、使用特點
H5微信支付,主要是用戶在微信app外的瀏覽器中,使用到微信支付,如在微信app外的瀏覽器中購買定下下訂單,選擇微信支付,會調起微信app,然后進入到微信app支付頁面,進行支付
1.3、支付結束后的處理形式
用戶在支付完成后,點擊完成,進入到支付結果頁面,這個頁面會展示用戶支付狀態等信息,(這個支付結果頁,即為1.1配置的域名下的頁面,只有該域名在1.1下配置,微信才會有權限跳轉到該域名下)
2、微信PC支付(掃一掃)
1.1、配置
無
1.2、使用特點
微信PC支付,主要是用戶可以掃描商戶展示在各種場景的二維碼進行支付。掃完支付后,二維碼頁面會跳轉到支付完成頁面或者其他相關頁面
1.3、支付結束后的處理形式
用戶掃完二維碼,支付完成后,二維碼頁面會跳轉支付完成相關頁面
3、微信公眾號支付(JSAPI)
1.1、配置
步驟:在微信公眾平台中,開發-》接口權限-》網頁授權-》公眾號設置-》功能設置-》網頁授權,配置域名
作用:在用戶同意微信授權后,微信可以回跳到這個域名下的方法中,
該配置主要為了獲取code,配置的域名一般為前端域名,即在后端代碼中,發現沒有code,后端訪問微信接口/connect/oauth2/authorize,這個接口后帶着參數redirect_uri,redirect_uri即為上面配置的域名加地址,成功訪問微信接口
/connect/oauth2/authorize后,微信會自動帶着code跳到redirect_uri這個接口下,至此獲得code
1.2、使用特定
在H5商城網站中,用戶在微信內打開網頁時,可以調用微信支付完成下單購買的流程。
1.3、支付結束后的處理形式
用戶點擊支付,彈出支付框,支付完成后,支付款消失,停留在當前頁面或者跳轉到支付結果頁面
4、代碼相關
微信支付,邏輯流程主要為,
1.先調用微信支付中的"統一下單" 接口,調用成功后,微信會回調用異步通知接口,在異步通知接口中,帶着傳來的商戶訂單號,去掉微信的“查詢訂單”接口,查詢訂單接口會返回此次支付是否成功等信息
其中jsapi接口中,多了一個獲取openid的步驟,openid先要獲得code
獲取code:"https://open.weixin.qq.com/connect/oauth2/authorize" # jsapi獲取code的請求地址,參數redirect_uri為微信授權成功后,即掉connect/oauth2/authorize這個接口成功后,微信會帶着code回調redirect_uri接口
通過code獲取openid:"https://api.weixin.qq.com/sns/oauth2/access_token" # 通過code獲取openid的地址