所以是手机的问题,不是QQ的问题?

开篇前絮叨两句,也算是我个人的一个记录吧,整体实现了微信扫码支付,但还有很多细节和提升的点,为了简介明了,只将整体过程给大家串一下,如果有大佬看到也要多多指点,不懂的也可以私信我。如果想了解微信登陆的,在分栏微信相关也有文章,大家可以看一下

实现应用微信支付,你需要有微信商户平台:。申请公众号(服务号)认证费300,才能开通微信支付。在微信支付中需要有公众号id和密钥还有商户id和密钥,如果你没有上线应用把整体流程明白就可以,当然,朋友公司之类有的话更好。

先将一些用到的链接地址放在这里,方便大家查看

上代码之前需要给大家讲解一些必要知识,不然直接来代码你还是一头雾水,完成了功能但不明白这个过程也是白费

Step1:微信网站扫码支付介绍



微信官方也有java相关的工具类,基本给大家的无差别,这里我就直接给大家上代码用

* 将Map转换为XML格式的字符串 * 数据传输对象(后端输出对象)

 * 用于返回Dto的工具类
 * 统一返回成功的DTO
 * 统一返回成功的DTO 带数据
 * 统一返回成功的DTO 不带数据
 * 统一返回成功的DTO 带数据 没有消息
 * 请求失败,返回错误语句及错误码
 * 返回数据 并返回数据数量

一些其它像查询用户信息和查询视频信息的操作就不给大家上了,就是简单查询,这里主要做订单的,避免大家看不懂下面代码的一些方法

* 根据订单流水号查找订单对象 * 根据流水号更新订单状态

一切准备工作完成后重点要来了!

控制层先这么 稍后再更新

//如果使用reques去拿ip不严谨,容易出现拿不到的情况,会过滤一些http头信息 //获取ip 模拟一个假的ip //获取用户id 这里是我的项目里加了jwt登陆 你可以直接写一次参数传

这里的操作是先保证下单成功,数据库能生成数据

注释的地方都是需要更新的

完成这一步可以先启动一下,调一下接口 看看数据能否添加成功

* 未来版本 优惠卷功能、微信支付、风控用户检查、生成订单基础信息、生成支付信息 //判断是否已经购买 订单状态码1 //已经支付过了,订单存在 //构造订单实体 根据用户购买哪个视频做处理 //接收返回结果 将微信返回的结果xml转map

这里很重要,如果你签名生成的不对,下面是无法进行的

得到payXml值之后复制一下 去微信支付文档签名校验一下,如果能通过,那么恭喜你,重要的第一步完成了。链接在顶部!

签名校验通过后给微信发送请求。这里都是时序图的第二步

orderStr就是微信返回给我们的信息,如果提示SUCCESS表示成功下单

主要是说明一下,时序图第三步,微信生成订单后返回这样的值,里面包含code_url,就是二维码生成链接,我们需要这个值来生成二维码

Step7:更新控制层生成二维码

现在就明白service为什么使用String的返回了吧 就是需要拿到code_url这个值

//如果使用reques去拿ip不严谨,容易出现拿不到的情况,会过滤一些http头信息 //统一下单拿支付交易链接codeUrl

重新启动项目,使用postman测试,老版的不显示二维码,生成的是乱码,需要去浏览器访问,新版的可以显示二维码

出现下面的二维码你就可以打开手机扫码了!

之后的步骤大家都明白吧,就是用户和微信交互了,确认支付输密码之类的。直接到时序图的第八步

Step8:内网穿透接收消息

微信完成预支付信息后,给用户发消息的同时,还给我们后台发消息,告诉我们支付成功了,我们拿到这个信息后修改订单状态就完事了,但问题是我们是本地开发, 怎样接收发来的信息呢?

使用工具NatApp,顶部有链接,使用方法非常简单,使用免费隧道,但每次启动都是随机隧道,所以每次需要改配置文件

注意配置文件也要修改,可能有些懵,我这个值是在什么时候告诉微信支付系统的呢?就是在我们生成签名第一次给微信发统一下单微信那边就记录了

Step9:接收微信确认消息

路径一定要对啊,别你写回调地址和你控制层接收消息的路径不一致,不然怎么你也收不到消息,第一次我就脑瘫了,路径写错了,打断点试了半天也没进到控制层,浪费了好几毛钱。。。

下面的代码简单说几句,都有注释,流程就是收到请求后验证一下签名,有没有错误信息什么的,之后更新订单状态,完事再告诉微信,我这里OK了!就行了。如果不告诉微信它会一直给你发消息,直到你告诉他。

//判断业务状态是否正确 //使用队列方式提高性能 //判断影响行数 row==1 或者row==0 响应微信成功或者失败

序言:整体微信支付就是这样,但还有细节的地方,验证订单、或者某笔交易出现问题都没有做。还有小伙伴会问。那我前台支付成功后前台是怎么给用户显示支付OK了,你这里方法也没告诉前台的啊。其实这个操作是前台来发请求的,循环的向后台发请求,查询用户这笔订单状态,变成1就不发请求了,然后给用户显示支付OK了。如果有小伙伴需要源码的可以私信,感谢!

怎么赚钱,一个月收入能够达到12000元呢?怎么合理分配消费呢?

我要回帖

更多关于 手机qq为什么启动不了怎么办 的文章

 

随机推荐