支付-微信h5

背景

h5支付分兩種
1.瀏覽器
2.app

瀏覽器裏的h5,最終也會跳轉到app。

而app裏的h5,本質是公衆號。在微信裏叫公衆號,支付寶叫服務窗。

這裏主要講微信h5。

核心原理

最終目標是下單,所以先倒着看,直接看最後一步需要什麼入參,然後倒推。

1.下單
需要用戶id //核心就是獲取用戶id,前面的獲取授權碼只是爲了安全的獲取用戶id

2.如何獲取用戶id?
需要先授權


所以流程是
1.授權
獲取授權碼 //不同的app,名字不同,微信叫code,其實目的就是獲取授權碼

2.用戶id
根據公衆號id和授權碼,就可以獲取用戶id //核心業務邏輯

3.下單
入參:用戶id //即根據用戶id,下單


流程圖
和微信打交道的核心步驟就三步


授權碼會變

用戶id不變 //唯一標識用戶/消費者

總結

微信 支付寶 銀聯,都差不多,大的流程基本上都是一樣的,只有授權碼和用戶id的名字可能不一樣。

非直接對接微信

直接對接微信,就會需要用戶id,需要用戶id就需要獲取授權碼。

如果是非直接對接微信,而是對接第三方支付公司,就不需要1.獲取用戶id 2.獲取授權碼,因爲第三方支付公司已經封裝好了。


彈起微信支付密碼框

如果是直接對接微信,需要自己調用微信js彈出微信支付密碼框。

如果是對接第三方公司,就是調用第三方公司js,然後由第三方公司去調用微信js和彈出微信支付密碼框。

參考

https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=7_4

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html

https://www.cnblogs.com/0201zcr/p/5131602.html