day54旅游 订单 微信扫码支付 API对接支付生成连接 api如何对接和抽取 微信支付结果通知states 内网穿透窗口不能关natapp

二维码

在这里插入图片描述
在这里插入图片描述
quick response 快速响应
比一维条形码几十个字符 存储更多的信息 几百个字符

在这里插入图片描述
一维条形码 存不了汉子

推荐用L级和M级 速度比较快 扫不出来可以立马换一张

在这里插入图片描述
在这里插入图片描述
min适合用于工作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转成javaWeb项目 JBLtoWeb
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导入qrcode生成二维码组件

准备一个标签 用于标签里面生成二维码显示

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210626084959764.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2MDQwMjgy,size_16,color_FFFFFF,t_70)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
水平线

在这里插入图片描述
默认是256
在这里插入图片描述
一般用第一种
在这里插入图片描述

{key1:value1,key2:value2,…}
在这里插入图片描述
存的是官网的URL location
在这里插入图片描述
第二种js,是前端去做的 javascript 一般都不存图片 存的是数据
qrcode是js组件 不是java构建的,不是jar包

网上组件一大堆的,百度:生成二维码js组件
在这里插入图片描述
各种渲染 绘制成一个样式 有个二维码的算法
就是css和html,js做出来了

微信扫码支付 redis开起来

在这里插入图片描述
访问pay.html

微信会给地址给我们 扫码到微信的地址.

玩了马云的就玩玩微信
在这里插入图片描述
商家才能申请 不是个人转账
原来企业转账处理信息,还能退款(比如淘宝支付,个人转账不能退款),还可以统计分析

在这里插入图片描述

支付方式

在这里插入图片描述
WAP手机浏览器 唤醒微信支付 没有码

API的对接 会对接这两个,其他就会对接了 时序图软件

时序图 怎么话 rational rose sequence

在这里插入图片描述
会对接这两个,其他就会对接了

时序图 每个操作都是有顺序的

在这里插入图片描述
商户后台系统 黑马
在这里插入图片描述
在这里插入图片描述
pay.weixin.qq.com/wiki/doc/api
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
跟微信对接的 key 对应 地址value
底层走xml
在这里插入图片描述
数据交换领域 xml json都可以

实例代码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成签名的秘钥是我们自己生成的吗

在这里插入图片描述
在这里插入图片描述
deploy 是 上传到私服 但是有私服才行

在这里插入图片描述
这个就是坐标

本地仓库是老师给我们的,自己的仓库就要安装一下,上传到本地仓库,按install,否则加载依赖的时候,就需要从中央仓库拿了 这个坐标原来就是依赖的坐标

在这里插入图片描述
在这里插入图片描述
收款页面的地址

在这里插入图片描述
没有测试代码,就要自己写了

去到公司就要使用别人的接口,用别人的测试代码

在这里插入图片描述
在这里插入图片描述
第一步 sdk wxpay install到本地仓库

导入 微信支付jar包
在这里插入图片描述
加入工具类
在这里插入图片描述
在这里插入图片描述
来自于官方wxpay-sdk jar包 项目 里面的测试类 PayTest

api如何对接和抽取 官网sdk(jar包项目里面有)

订单号 总金额 要改 不写死
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提交订单的subOrder方法传来了订单号oid和金额price
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在id=code的变迁生成了一个二维码
在这里插入图片描述
调用方法,异步请求传参数给后端 说明订单号 和 价格

后端根据订单号和价格返回code_url地址,然后QRCode显示

这个地址里面有二维
码 在div标签里面显示这个二维码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码写死了1分钱

在这里插入图片描述
这个连接用微信打开 有个收款二维码

在这里插入图片描述
外键约束,先删除子表 再删除主表订单 主表的主键

在这里插入图片描述
在这里插入图片描述

获取微信支付状态 statue 0–>1 查后端的状态

只有微信才能知道支付结果 银行知道,但是黑马旅游端不知道的,黑马不知道
还可以对接银行 微信通知结果给我们
在这里插入图片描述
在这里插入图片描述
拿到支付结果的api createResult 给黑马旅游平台

在这里插入图片描述
在这里插入图片描述
回调地址

在这里插入图片描述
在这里插入图片描述
不告诉,微信会一直告诉你 成功啦 防止微信一直发信息 成功啦

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同步的话告诉支付结果就可以了。异步处理,是告诉哪笔订单成功,不是针对

在这里插入图片描述
成功了,就返回给微信,告诉微信不要再发信息给我了。

在这里插入图片描述
加粗样式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
演示jackson转xml的例子 xml转json

user.xml file

在这里插入图片描述
写个测试类

在这里插入图片描述
解析要玩xml
在这里插入图片描述
读取xml

new SaxReader

在这里插入图片描述
获得一个输入流 来读取文件 类(任何一个类).class.getRAS 得到一个输入流

在这里插入图片描述
jackson提供的XmlMapper类 玩map {key1:value1,key2:value2,…}

在这里插入图片描述
用一个输出流 输出字符 再设置根标签

在这里插入图片描述
抛出异常

java对象转成xml字符串

在这里插入图片描述
在这里插入图片描述
SaxReader适合很多子标签的 孙子 子子

只有父子的标签用jackson xml即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

内网穿透

在这里插入图片描述
外网访问你本地的应用

在这里插入图片描述
外网ip跟微信通信

微信只能找到外网ip,找不到小龙的ip 本地域名是局域网
每个地址都有一个网卡MAC地址

让网络管理员搞定,但是现在没有啊

局域网内可以用ip来访问,但是外网只能用mac

在这里插入图片描述
购买一个免费隧道,免费的慢 做了限速
在这里插入图片描述
隧道的名字 隧道协议web web开发
绑定本地端口 8080 tomcat端口 外网访问就是绑定的端口8080 访问tomcat
在这里插入图片描述

读取就是本机

在这里插入图片描述
解压

在这里插入图片描述
只用输入
用的token要用自己,绑定的是自己的mac的地址
token记录的是mac地址和外网id token加密了,其实加密前是很长的

配置好就是启动 外网能访问的地址 会解析成127.0.0.1:8080 是你tomcat启动的地址 访问项目路径是空

访问外网就是访问你的8080即tomcat的应用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
pay是controller的地址 payNotify是方法的地址,访问的是controller,controller来处理

根据回调地址 微信支付会调用我们的controller (前提是启动服务器 8080端口)

controller获得的输入流中的xml文件(微信发过来的xml文件(是io流传过来))换成map对象

dao要修改订单的状态 set update

在这里插入图片描述
我们再返回给微信一个io流的xml给微信告诉我们已经接收成功

在这里插入图片描述
微信没开发json传输,只能传io流(里面可以放xml)

在这里插入图片描述
微信通知我们的时候会把oid订单号告诉我们

Order表的state要改吗? 订单项表也要改

在这里插入图片描述

在这里插入图片描述
先删除子表再删除主表
在这里插入图片描述
业务层 获取订单号
获取支付结果
如果支付成功,就修改两个表的状态
否则提示支付失败
在这里插入图片描述
微信传过来的是xml,自己转成转成的map? {key1:value1,key2:value2}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
返回的结果对应return_code

在这里插入图片描述
在这里插入图片描述
微信传过来的IO流中的xml,通过request接收,然后controller转成map然后给到业务层,业务层就解析map,根据key拿value

在这里插入图片描述

在这里插入图片描述
微信只发xml,也只接收xml的输入输出流

在这里插入图片描述在这里插入图片描述

噢!记得了,是因为jackson和xml的依赖,将json对象转成xml

在这里插入图片描述
以后会进行token加密的,正常会校验的,以后再学了。

支付状态

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
少了业务层的代码

boolean返回韩式boolean
在这里插入图片描述
在这里插入图片描述
是的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
做一次就用

微信扫码就是外网访问

token要设置自己的

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值