閱讀說(shuō)明:本節(jié)主要是介紹UML順序圖實(shí)戰(zhàn)應(yīng)用,給大家分析微信支付業(yè)務(wù)流程,并且通過(guò)順序圖的方式給大家呈現(xiàn)更為直觀效果。后面還會(huì)陸陸續(xù)續(xù)的更新更多詳細(xì)的UML開(kāi)發(fā)應(yīng)用學(xué)習(xí)文章,直接對(duì)接我們當(dāng)下的開(kāi)發(fā)。
注意事項(xiàng):UML工具是StarUML,我用的是Mac版本,大家可以下載自己電腦對(duì)應(yīng)的版本。
下載地址:http://staruml.io/download
內(nèi)容一:順序圖-基本概念?
第一點(diǎn):順序圖用來(lái)表示用例中的行為順序。當(dāng)執(zhí)行一個(gè)用例行為時(shí),順序圖中的每條消息對(duì)應(yīng)了一個(gè)類操作或狀態(tài)機(jī)中引起轉(zhuǎn)換的事件。
第二點(diǎn):順序圖展示對(duì)象之間的交互,這些交互是指在場(chǎng)景或用例的事件流中發(fā)生的。?順序圖屬于動(dòng)態(tài)建模。
第三點(diǎn):順序圖的重點(diǎn)在消息序列上,也就是說(shuō),描述消息是如何在對(duì)象間發(fā)送和接收的。表示了對(duì)象之間傳送消息的時(shí)間順序。
第四點(diǎn):瀏覽順序圖的方法是:從上到下查看對(duì)象間交換的消息。
內(nèi)容二:順序圖-事物與解釋?
內(nèi)容三:順序圖-微信支付-交互流程?
????商戶系統(tǒng)和微信支付系統(tǒng)主要交互說(shuō)明:
第一步:用戶在商戶APP中選擇商品,提交訂單,選擇微信支付。
第二步:商戶后臺(tái)收到用戶支付單,調(diào)用微信支付統(tǒng)一下單接口。
注意:具體查看【統(tǒng)一下單API】
第三步:統(tǒng)一下單接口返回正常的prepay_id,再按簽名規(guī)范重新生成簽名后,將數(shù)據(jù)傳輸給APP。參與簽名的字段名為appid,partnerid,prepayid,noncestr,timestamp,package。
注意:package的值格式為Sign=WXPay
第四步:商戶APP調(diào)起微信支付。
注意:具體查看【app端開(kāi)發(fā)步驟說(shuō)明】
第五步:商戶后臺(tái)接收支付通知。
?注意:具體查看【支付結(jié)果通知API】
第六步:商戶后臺(tái)查詢支付結(jié)果。
注意:具體查看【查詢訂單API】
內(nèi)容四:順序圖-微信支付-詳細(xì)流程?
第1步:用戶:打開(kāi)商戶APP客戶端
第2步:商戶-客戶端:選擇商品下單
第3步:商戶-客戶端:請(qǐng)求生成支付訂單
第4步:商戶-服務(wù)器:調(diào)用統(tǒng)一下單接口
????第5步:微信-支付系統(tǒng):生成預(yù)付單
第6步:微信-支付系統(tǒng):返回預(yù)付單信息(prepay_id)
第7步:商戶-服務(wù)器:生成帶簽名的客戶端支付信息
第8步:商戶-服務(wù)器:返回信息(prepay_id、簽名等…)
第9步:用戶:用戶確認(rèn)支付
第10步:商戶-客戶端:通過(guò)支付參數(shù)調(diào)用微信支付SDK
第11步:微信-支付SDK:發(fā)起支付請(qǐng)求
第12步:微信-支付系統(tǒng):驗(yàn)證支付參數(shù)、APP支付權(quán)限
第13步:微信-支付系統(tǒng):返回支付授權(quán)信息
第14步:用戶:用戶確認(rèn)支付,輸入密碼
第15步:微信-支付SDK:提交支付授權(quán)
第16步:微信-支付系統(tǒng):驗(yàn)證授權(quán),完成支付交易
第17步:微信-支付系統(tǒng):異步通知商戶服務(wù)器支付結(jié)果
第18步:商戶-服務(wù)器:接收和保存支付通知
第19步:商戶-服務(wù)器:返回告知已接收成功處理
?第20步:微信-支付系統(tǒng):返回支付結(jié)果,發(fā)送微信消息提示
第21步:微信-支付SDK:將支付狀態(tài)通過(guò)商戶APP已實(shí)現(xiàn)的回調(diào)接口執(zhí)行回調(diào)
第22步:商戶-客戶端:查詢實(shí)際支付結(jié)果
?第23步:商戶-服務(wù)器:調(diào)用微信查詢API查詢支付結(jié)果
第24步:微信-支付系統(tǒng):返回支付結(jié)果
第25步:商戶-服務(wù)器:返回支付結(jié)果
第26步:商戶-客戶端:展示支付結(jié)果頁(yè)面
第27步:商戶-客戶端:商戶發(fā)貨,完成交易
內(nèi)容五:順序圖-微信支付-流程圖?
????備注:本篇文章給大家分析了實(shí)戰(zhàn)應(yīng)用,希望每一位讀者都可以自己去實(shí)踐一下,動(dòng)手畫(huà)一畫(huà),說(shuō)不定你會(huì)意想不到收獲。歡迎每一位讀者關(guān)注后續(xù)文章更新,同時(shí)大家有什么好的建議也可以提出來(lái),我也會(huì)不斷優(yōu)化,方便大家學(xué)習(xí)提升。
Android開(kāi)發(fā)技術(shù)分享5000人認(rèn)證群653 9611 28,歡迎各位喜歡Android技術(shù)的同學(xué)一起交流!