商家有收款的需求。微信
商家分線下的商家和線上的商家。異步
線下的商家,是實體店,收款的時候,貼個二維碼,用戶使用支付寶或微信掃碼支付。網站
這裏涉及到的角色有3個,1.用戶 2.商家 3.支付寶或微信。接口
本篇文章裏要說的是聚合支付二維碼,如今的二維碼支付,通常都支持多個支付方式(支付寶、微信、京東、百度等),至少也支持兩個支付方式(支付寶、微信)。支付寶
因此,從這裏能夠看出,並非支付寶和微信直接提供二維碼收款服務,而是聚合支付公司提供,具體來講,這裏有4個角色:
1.用戶
使用第三方支付公司的軟件(支付寶或微信),掃二維碼,付款。
2.商家
聚合支付公司的商家。
3.聚合支付公司
聚合支付公司直接打交道的角色,只有2個,一個是商家,一個是通道。同步
聚合支付公司生成二維碼,給商家放在實體店裏,供用戶掃碼支付。電商
聚合支付公司對接通道,這裏的通道指第三方支付公司。百度
聚合支付公司,有收錢吧、好近、興業銀行等。
4.通道
第三方支付公司(支付寶或微信)。軟件
同上。二維碼
惟一的不一樣,就是線上的商家不是實體店,而是網站(例如,電商網站),也能夠是任何類型的有收款需求的網站。
二維碼是放在商家網站裏,而不是貼在實體店的牆上或桌子上。
聚合支付公司,有ping++、BeeCloud等。
1.用戶
付款
2.商家
收錢。
收到的錢,放在聚合支付公司的商家帳戶。
3.聚合支付公司
聚合支付公司在本身系統內部記帳。
聚合支付公司與商家採用T+N進行結算。
4.通道
第三方支付公司在本身系統內部記帳,由於聚合支付公司也是第三方支付公司的一個商家。
第三方支付公司與聚合支付公司,也是採用T+N進行結算。
最終真正發生轉帳的地方,是第三方支付公司對接銀行,不過銀行也是記帳,由於第三方支付公司也是銀行的商家,這裏不展開多說。
資金流是進來,就是收款。
在這些角色裏面,能夠看出來,每一個角色都扮演了收款的角色。
用戶,雖然是付款(資金流是出去),可是用戶買到了商品或服務,因此仍是收款。
如下文字裏的商家指聚合支付公司。
通道指第三方支付公司。
1.用戶使用支付寶或微信掃二維碼
2.用戶輸入金額,提交數據
3.商家調通道支付接口,把訂單數據發往通道
4.通道調支付寶或微信的支付控件,彈出輸入密碼界面
5.用戶輸入密碼,確認支付
6.支付寶或微信收到錢以後,顯示支付成功
7.支付寶或微信調商家的異步通知地址,商家更新訂單狀態和帳戶餘額
8.用戶點擊完成按鈕
9.支付寶或微信調商家的同步通知地址,顯示商家的支付成功界面
10.商家調通道的單筆訂單查詢接口,查詢是否支付成功,若是支付成功,那麼商家更新訂單狀態和帳戶餘額
通知地址,分同步通知地址和異步通知地址。
有的通道提供了兩個通知地址(例如,微信、興業銀行-威富通),有的通道只提供了一個通知地址(支付寶、智付),有的通道則是提供一個必填同步通知地址、一個選填異步通知地址(例如,平安銀行)。
從上面的業務流程第七、八、9步,能夠看出通知地址是有前後順序的,用戶輸入支付密碼以後,若是支付成功,通道就顯示支付成功界面,而後通道當即調異步通知地址,商家更新訂單狀態和帳戶餘額。
接下來,只有當用戶點擊通道支付成功界面的完成按鈕以後,通道纔會調同步通知地址,而後顯示商家的支付成功界面。
無論通道提供了幾個通知地址,主要是理解通知地址的做用是什麼,通道地址的做用和通道的單筆訂單查詢結果接口是同樣的,就是判斷是否支付成功,若是成功,那麼商家就更新訂單狀態和帳戶餘額。
實際上,若是通知地址能夠當即返回成功,那麼只須要一個通知地址便可。
固然,若是提供兩個通知地址,只是把業務分得更細,更容易理解。