00:00
好,那下一步我们想要去调支付宝的接口,那么回到我们之前看的这个DEMO,看看他是怎么干的。大家回忆一下啊,这样我们把这个咱们重新跑一下。啊,回忆一下他我们当时的这个操作,根据这个操作呢,回去看一下我们的,呃,它对应的代码。然后我们在外边的浏览器打开。大家看这是我们访问的index GP啊,我们访问的这个首页。那么这时候这是一组这个表单,我们点表单的,点表单的这里边儿的付款去提交这个表单。那现在这个问题是,这表单提交到哪了呢?其实并没有去什么别的地方啊,呃,这个表单呢,我们看查看它的源代码我们就知道了。
01:01
哎。啊,在这儿你看看他有好几个哈,现在他这个这个页面上,它就是有好几个,我们现在要看的是这个付款这个表单。付款这个暖单在这儿。啊,这是商户订单号,订单名称,付款金额,商品的描述在这哈,这是这个付款诶。嗯,然后呢,看他给提交到哪了,这个action说阿里配。点点配置,点配点G。诶,他把这请求呢,其实是发给了一个GP了,这个GP呢,并不在支付宝那边,这个GP在我们这边。啊,它其实呢,就是这个GP啊,这个阿里配点trade点配置点配其实就是它,所以说呢,这个表单呀,其实是把请求发给这边了。那么也就是说呢。我们要是想去呃调支付宝这个接口,我们只只需要执行这些代码,就能够给支付宝这边发请求了啊所以说呢,CTRLC。
02:05
我们把这些代码呢,给复制过来,复制到我们这儿。哎,那么这时候放到这一个方法里边吧,这一个方法会显得有点太长啊,咱们先把它拿到下面这个方法,哎,嗯。也可能我们最后把它给都合并到一起啊,那这时候我们先先过来,咱们先把它这些代码,咱们先整理整理啊。哎。这时候它先要初始化一个阿里pay client,哎,那这个东西呢,我们ctrl shift o一下,你看我们导包能导进来啊,那为什么这个它为什么导包能导进来呢。呃,这个你看一下阿里阿里。他属于谁?哎,属于阿里配SDK Java,哎,这就是我们因为已经导了它的SDK了,所以说呢,这个。
03:05
相关的这些个A就能用了,是这样一个原因。呃,然后后边我们接着看哈,现在呢,他说这边有异,他说没有阿里配。哎,他有阿里配这个干嘛呢,他想要getway呀,APID啊等等,他想要读取这样一些个呃配置项。那么我们的这些配置项呢,不是以这个常量的方式来管理的,我们是以这个properties这个方式来管理的,所以在这呢。哎,我们的这个properties它在这里边叫配properties,那么这里边也是只有这个属性,没有这个值,值呢是在我们的不点压里边。而我们application里边的这些个值呢?你要想读取进来,哎,那么就是由它去读取的,那你想通过它去读取的话,那么我们这边就需要把它给装配进来啊,所以我们这儿呢,需要去装一下。
04:03
我们叫做pay。哎,这都是一环扣一环的啊配。CTRLC。呃,然后呢,这边这个这里边儿呢,我们就可以通过呃,我们刚才导入的配properties啊,去给他去传输这些属性值了。点盖一个这getway哈。下边这个是PID,咱们竖着写吧。先竖着给它拿下来啊,他这样的话太太长了。
05:04
点get PID。刚才这是什么?呃,商户的私钥。啊,他已经写好的,这个咱就不用改了哈,接算这个就不用改了,然后这边是个叉赛。呃,支付宝的公钥。这是一个验签的方式。哎哎,你看这边这个就没错了啊,这样的话,我们这个配properties这个就用上了。呃,当然顺便我们说一下,当时咱们没有去填这一部分啊,没有去填这一部分,呃,现在来说这个吧,咱们现在我已经把这个我们内网穿透的工具已经打开了哈,现在我们再去确认一下,我们现在这个隧道呢,是建立的是它,诶我们现在这个域名是这个。
06:04
把它复制一下。这个先写好。但是呢?这个notify UI啊,这个将来也是需要我们自己去准备一个方法,我们现在呢。呃,先把这个方法给他,先把这个访问地址补充完整哈。呃,将来呢,它会通过这个域名哈,先去找到我们的zoo,我们的zoo不是八零端口嘛,先去找到我们的zoo,找到我们的zoo以后呢,在接下来呢,去找我们配啊,这是我们的路由规则的名字,配下边呢,我们叫做一个notify。哎,然后下边这个呢,是我们配下边的一个return,也就是说呢,我们一会儿还得把对应的这个方法和这个方法都得去写出来啊。嗯嗯,好,接着往下看,那么在这儿呢,它需要一个return l,就是刚才我们写的这个。
07:01
点get一个return。哎,这个呢,是盖一个闹。来看看下边这儿啊,他说这儿需要一个request对象,其实呢,他在这儿想要的是啥呀,商户的订单号,商户订单号呢,我们这儿前面这儿已经都准备好了啊嗯。不妨呢,在这儿我们去让他给传进来啊,呃,还是按我们的习惯,这个变量名呢,我们去改成一个,呃,驼峰式命名。Out trade number。啊,既然是参数传进来的话,我们这就不在这儿写了哈,我们就给它。给它生成到这儿了。对我们来说呢,就是啊,它叫trade number。
08:00
哎,然后呢,这边有一个total amount订单的金额。哎,他是啥类型的来着。啊,这个东西它也是个string类型的。嗯,其实无所谓哈,他在这儿需要去,呃,这个连凑串。哎。然后呢,再往下是有一个呃,订单的名称,它叫subject。嗯。然后呢,下边有一个包底,哎,商品的描述。
09:01
好,这个时候呢,他在这儿呢,进行一个拼接。拼接啊,它需要给拼成一个计算格式,然后呢,这边呃,设置进去,设置到这个请求的对象里边。然后呢,他在这儿哈。呃,他说你要增加其他的这个参数啊,你就仿照它的这个格式来写。然后呢,他去执行这个请求,获取请求体,请求体就是它请求体呢,其实就是那个页面啊,那么现在他要输出这个页面。输出这个页面其实是什么意思呢,他要去。其实是把这个result里边所有页面包含的内容哈,返回给我们浏览器,这就是让用户呢去登录支付宝,那么我们这儿把这个result直接返回就行啊。那么我们这个时候把这个方法的反应值改成字号类型。
10:04
好嘞,哎,那然后呢,这边有异常。有一长呢,就给它,呃,抛出去。哎,那现在呢,就是我们去调这个方法就好了。给这个方法去加下注试。这个叫为了调用支付宝接口专门封装的方法。Number啊,就是说这个外部的订单号。哎,也就是商户的订单,也就是我们生成的订单号。Total amount订单的总金额subject,哎,这个其实是这个叫订单的标题啊,这里可以使用我们的那个叫。
11:00
嗯。呃,这个我们叫啥项目的名称。订单的商品的描述啊,这里可以使用我们回报的描述,哎,返回值是要返回到页面上显示的。呃,支付宝登录的界面好嘞。这个方法准备好以后呢,下边我们来进行这个调用,调用我们专门封装好的方法。去给支付宝。远程支付把这个接口啊,去发送请求,那咱就调方法呗,咱自己写好了这个send的。诶,这里边儿外部订单号就是我们这儿叫order number,订单总金额我们叫order amount,哎,然后这个呢,是我们order project VO这个对象里边的get project内。
12:08
这个是order project view。点get一个return content。好了,哎,都准备好了,准备好,哎,这有他说没写分号。哎,他有异常就继续再往外抛啊,哎。然后呢,这个方法的返回值是需要在页面上去显示的,所以说我们这儿呢,也返回它,返回它呢,一定要注意我们现在情况,你返回这string啊,Spring MC还会以还还以为你返回的是一个视图的名称,他还要去找family,所以我们这儿呢,其实是要去找这个response body。哎,去找这个瑞斯棒子保底。呃,加了,必须得加response body才能够让呃,Spring Mac知道我们当前这个方法的返回值啊,原来呢,就是用户就是这个浏览器上显示的这个界面啊,它就是响应题,你不要再做别的处理了啊,必须得加这个啊。
13:15
这里必须加啊这个response body注解。啊,然后呢是嗯,让当前方法的返回值成为响应体啊,在浏览器界面上去显示啊显示啥呢,显示我们这个叫。嗯。嗯,浏览器界面上去显示我们的,呃,支付宝登录的这个界面啊。哎,他得先他得是要不就扫二维码,要不就是他账号密码去登录啊,就是这应该叫支付界面吧。
14:00
之后的界面啊。行,这个我们就写完了,但是呢,这个还现在还不行哈,因为你想他调完了以后呢,他要去找我们的这个return URL,去找这个notify URL,哎,那然后呢。我们这两个东西,我们这两个东西也得写完了,咱们才能统一跑起来去测试。
我来说两句