00:01
这节课呢,我们来做异步结果通知的开发,第一步呢,我们先在trade quit这个业务层的方法当中呢,去设置我们的异步通知地址,也就是在我们的request这个请求对象当中去设置notify URL,那么设置的方式呢,跟之前设置return URL的方式是一样的。我们使用con对象的get property方法。将我们的沙箱参数当中的notify URL给它取出来。好,放在这个位置,那这个地址呢,就是我们异步通知的回调地址了,所以大家可以发现呢,这个实际上就是我们NG rock的一个内网穿透的地址,所以接下来呢,我们还要启动NG rock,那么NG rock呢,我再来简单的说一下它的使用方式,我们打开NG rock的官方网站NG rock.com哈。
01:02
好,打开之后呢,首先第一个步骤,你需要在这个里面注册一个账号,注册完成之后呢,我们点击这个登录按钮进行登录,然后接下来呢,在这个地方呢,你可以下载这个NG rock的工具,当然了,在我们的资料当中,我也给大家把这个工具下载下来了,你只要解压,解压成这个NG.exe就可以了,那么接下来我们打开命令行。好在这个n rock当前的这个目录下,也就是n rock可执行程序的这个目录下呢,我们首先呢,需要去执行一个NG rock。Ortoken这样的一个权限的设置啊,好,然后第二个步骤呢。好,我们大家把这个命令复制一下就可以了。当然了啊,你这个命令只需要设置一次就可以了啊,设置完成之后呢,我们。
02:04
在这个目录下就会生成一个ngro.email的这么一个文件,那这个文件当中呢,就会有这个outton的,那实际上这个步骤也是可选的,如果大家设置了这个步骤呢,我们每次连接n rock的绘画的时长呢就会更长一些。接下来呢,我们再来看第二个步骤,就是我们在指定的端口当中呢,启动这个nro,因为我们后端服务的地址呢是8090,所以呢,我们希望内网呢,穿透到我们的8090这个端口上,那所以我们就直接使用NGHTP8090这个命令启动NG rock就可以了,NG rock http8090。好,这个时候呢,它显示的是正在连接的状态,那么我们稍微等一下。它就会显示已经连接成功了啊,那大家一定要使用自己的。
03:06
奥token哈,就不要使用我的,因为我之前讲微信支付的时候,我把我的这个奥斯ton呢,放到了就是我们的这个笔记当中,结果有很多同学在学习这个课程的时候呢,使用了我的这个奥,我就是啊一打开我的这个angel g rock呢,就会提示我这个奥N呢已经被其他的终端占用了,那所以呢,如果是这种情况的话呢,我就必须要重新生成我的奥卡哈,那么重新生成的方式呢是。在这个位置啊,我们可以点re奥N,所以大家也是一样的,如果你的奥N提示就是你没有权限访问呀,或者是被其他终端占用啊,你都可以在这个地方进行ton的重新生成,所以呢,大家还是尽量不要使用我的N。所以大家自己注册账号,使用自己的奥卡好吧?好,那么。当然了,前面我也说过,这个步骤其实是一个可选的步骤,就是它会让我们的session的时长,也就是说我们的绘画的时长,内网穿透绘画的时长呢,会更长一些啊,然后它还会有一些more features,就会一些更多的特性,当然你不设置直接来到这个步骤其实也可以。
04:15
那我们呢,嗯,就来到这个步骤吧,然后我们就显示了这样的一个内网穿透的地址,那么这个地址呢,有两个,一个是HTTP的,一个是HTPS的,所以呢,我们使用其中一个就可以了,我们使用这个HTPS的。把它粘贴到我们的配置文件当中,粘贴到这个位置,那么因为我们使用的这个内网穿透呢,是一个相对较为稳定的,而且还是免费的一个内网穿透的工具,所以呢,它的缺点呢,就是每一次你重新启动内网穿透这个安居服务的时候呢,这个地址都会发生变化啊,那所以大家一定要记住,一旦你这边会话超时了,或者是长时间不使用,你把它关闭了,重新启动了等等这样的一些情况发生的时候呢,大家都需要在这个位置重新的复制这个内网穿透的地址到这个位置当中来啊,然后呢,再启动我们的服务器才可以好。
05:11
好,所以呢,这块是我们在我们的应用程序当中,把刚刚获取到的最新的内网穿透地址呢,复制到这个位置,接下来呢,就是。我们需要开发异步通知接口了,那么我们打开我们的阿里配CTRL了,好在这个阿里配ctrler这个类当中呢,我们添加一个方法叫public string,我们返回string啊,Trade就是交易notify,好,交易通知我们在上面呢写一个交post mapping啊这样的一个请求方式,因为通过刚才咱们看这个支付流程的这个图,我们可以发现我们需要将这个请求设置成post形式的,因为支付宝那端呢,是以post的形式向我们发起的请求,所以我们这面接收请求的时候呢,也必须是这个post卖品,好接下来呢,这面我们就写trade,然后呢是notify,然后接下来我们这边写API operation支付。
06:23
通知哈,咱们大家在写这个地址的时候,一定要注意我们这个地址加起来,也就是说把它们连接起来,API,阿里pay trade notify一定是刚才我们在沙箱环境当中设置的这个地址叫API。阿里配trade的退法,这样的话呢。支付宝就会通过完整的这样的一个绝对路径访问到我们刚才刚刚开发的这个接口当中,当然了,支付宝呢,会给我们一系列的参数,那么我们呢,可以通过麦部集合啊,直接接收这个参数,它会它会做自动的一个请求参数的一个转换,好这个map集合呢,我们使用spring mvc当中的request parater,这样的话呢,它会自动的从我们的请求参数,也就是htp select request当中把所有的请求取出来,并且呢。
07:19
转换到我们的这个map集合当中啊,那么我们给它起名叫parameters,我们把这个map呢,给它引进来,引进来之后呢,在这个位置我们可以写一个日志,Log in for,支付通知正在执行好,然后接下来呢,我们可以把通知参数呢,也顺便打印出来log info,那么这边呢,是通知参数好,我们这样去打印一下它哈,然后我们直接加上可以可以这样去输出,或者是这样输出也可以有一个站位符,然后这边呢,写一个逗号。
08:07
好,这样接下来呢,我们先存一个。控制不串吧啊,具体什么样的内容呢,我们后面再详细的介绍好,这样的话呢,我们就开发了我们的支付通知接口,那么如果顺利的话呢,一会儿我们支付完成之后,这个支付通知呢,就会被自动的调用,所以接下来呢,我们来进行新一轮的测试哈,测一测呢,我们这一次的支付通知会不会被调用。
我来说两句