用户微信扫码支付成功之后又该如何处理呢?
###
拿到了微信返回的xml并且已经转换为了Map,这个时候微信官网手册也提醒我们
![](https://img.kancloud.cn/38/6a/386a54c923e846c85f5c6d749f10a438_1474x897.png)
###
一个是通过将微信返回的参数按照签名规则进行签名生成sign 然后再和微信返回的sign进行校验,这里一定要注意,我们是拿到了微信返回的参数按照我们写好的sign加密算法 得倒sign,然后和微信返回的sign对比
###
首先编写工具类 将hashMap转位SortedMap
###
![](https://img.kancloud.cn/11/85/11852ebc9d264f7c0f2a71439c2db757_2948x1858.png)
###
在控制器当中进行签名验证避免被刷单
![](https://img.kancloud.cn/a3/95/a3952175ace4bf234ffe5439522fcf23_3064x1818.png)
###
![](https://img.kancloud.cn/29/bc/29bc641b4ce7a6ccd0691cdc599b9234_2204x1670.png)
###
所以我们还得继续完善业务上的代码
###
首先VideoOrderMapper当中写一个更新订单很多字段的方法
###
![](https://img.kancloud.cn/91/ee/91eebb854f10375ee0217e2ac9f583f8_3244x1860.png)
###
然后就是service层
###
![](https://img.kancloud.cn/61/2d/612ddda4cd59109f3f0b5c871ccc23e4_3272x1822.png)
###
![](https://img.kancloud.cn/c8/5e/c85e941fcaecdc3caceb2345f576761d_3184x1810.png)
###
![](https://img.kancloud.cn/e2/a0/e2a0092460e1bbd12253185dd58a81a3_3194x1842.png)
###
其中outTradeNo为订单号 这个时候也要更新到数据库当中去
到此整个微信支付下单的流程就结束了
###
微信回调通知规则(通知频率为15/15/30/180/1800/1800/1800/1800/3600,单位:秒)
幂等性: 同样的参数和值,不管调用你的接口多少次,响应结果都和调用一次是一样的
###
![](https://img.kancloud.cn/2c/7e/2c7e185fe0d72ddf7a959303771134d3_1492x906.png)
###
- springboot2项目创建
- 分层分包以及资源文件的创建
- Mysql逆向工程效率神器创建domain实体类(DAO层)
- application.properties配置文件自动映射到实体类
- 通过junit单元测试配置文件自动映射到实体类
- 整合Mybatis访问数据库和阿里巴巴数据源
- 增删改查步骤以及细节记录
- 控制器请求参数的传递
- mybatis当中的动态sql语句创建和使用套路
- mybatis当中的分页插件的使用
- springboot2当中jwt的使用
- 增加统一响应结果类
- 微信登录之微信开放平台介绍
- 网站应用微信登录时序图解释说明
- 获取微信开放平台扫码链接URL地址
- HttpClient4.x工具获取使用以及Get和Post模拟请求类编写
- 配置内网穿透让微信服务器可以回调到开发环境地址
- 获取微信access_token以及openid进而获取用户信息
- 保存微信用户信息的注意点
- 保存完微信用户信息之后生成jwt返回前端
- springboot2登陆拦截器
- 微信支付前期资料说明
- 订单的增删改查Dao层编写
- 单元测试的实现步骤
- UUID生成和MD5加密工具类编写
- xml转map map转xml以及签名sign算法工具类
- 下单生成sign签名以及xml整体流程代码实现一
- 调用微信统一下单接口获取相应map拿到二维码地址
- 二维码地址转换为图片让用户扫码支付
- 微信回调处理之更新订单状态和幂等性讲解
- springboot当中开启事务
- 定义全局异常类
- 项目当中Logback或者log4j增加打点日志
- 前后端联调注意事项
- springboot当中解决跨域问题
- 打包以及后台运行以及前端部署
- 多节点集群部署