通往架构师之路-UML建模-顺序图-微信支付流程?

阅读说明:本节主要是介绍UML顺序图实战应用,给大家分析微信支付业务流程,并且通过顺序图的方式给大家呈现更为直观效果。后面还会陆陆续续的更新更多详细的UML开发应用学习文章,直接对接我们当下的开发。

注意事项:UML工具是StarUML,我用的是Mac版本,大家可以下载自己电脑对应的版本。

下载地址:http://staruml.io/download

内容一:顺序图-基本概念?

第一点:顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。

第二点:顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。顺序图属于动态建模

第三点:顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。

第四点:浏览顺序图的方法是:从上到下查看对象间交换的消息。

内容二:顺序图-事物与解释?

内容三:顺序图-微信支付-交互流程?

商户系统和微信支付系统主要交互说明:

第一步:用户在商户APP中选择商品,提交订单,选择微信支付。

第二步:商户后台收到用户支付单,调用微信支付统一下单接口。

注意:具体查看【统一下单API】

第三步:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。

注意:package的值格式为Sign=WXPay

第四步:商户APP调起微信支付。

注意:具体查看【app端开发步骤说明】

第五步:商户后台接收支付通知。

注意:具体查看【支付结果通知API】

第六步:商户后台查询支付结果。

注意:具体查看【查询订单API】

内容四:顺序图-微信支付-详细流程?

第1步:用户:打开商户APP客户端

第2步:商户-客户端:选择商品下单

第3步:商户-客户端:请求生成支付订单

第4步:商户-服务器:调用统一下单接口

第5步:微信-支付系统:生成预付单

第6步:微信-支付系统:返回预付单信息(prepay_id)

第7步:商户-服务器:生成带签名的客户端支付信息

第8步:商户-服务器:返回信息(prepay_id、签名等…)

第9步:用户:用户确认支付

第10步:商户-客户端:通过支付参数调用微信支付SDK

第11步:微信-支付SDK:发起支付请求

第12步:微信-支付系统:验证支付参数、APP支付权限

第13步:微信-支付系统:返回支付授权信息

第14步:用户:用户确认支付,输入密码

第15步:微信-支付SDK:提交支付授权

第16步:微信-支付系统:验证授权,完成支付交易

第17步:微信-支付系统:异步通知商户服务器支付结果

第18步:商户-服务器:接收和保存支付通知

第19步:商户-服务器:返回告知已接收成功处理

第20步:微信-支付系统:返回支付结果,发送微信消息提示

第21步:微信-支付SDK:将支付状态通过商户APP已实现的回调接口执行回调

第22步:商户-客户端:查询实际支付结果

第23步:商户-服务器:调用微信查询API查询支付结果

第24步:微信-支付系统:返回支付结果

第25步:商户-服务器:返回支付结果

第26步:商户-客户端:展示支付结果页面

第27步:商户-客户端:商户发货,完成交易

内容五:顺序图-微信支付-流程图?

备注:本篇文章给大家分析了实战应用,希望每一位读者都可以自己去实践一下,动手画一画,说不定你会意想不到收获。欢迎每一位读者关注后续文章更新,同时大家有什么好的建议也可以提出来,我也会不断优化,方便大家学习提升。

大家一起分享自己的技术成长经历可以关注本公众号!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126G0XS4500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券