00:00
下面我们使用支付宝的官方DEMO测试了一下我们整个的支付流程,但在这个支付流程里边呢,还有两个核心配置,我们呢没有配置好,我们来看一下这一块,在这两个核心配置里边呢,一个叫notify URL,我们支付宝呢称为叫服务异步通知的这个地址,还有一个叫我们的return URL,叫页面跳转同步通知的地址,首先我们这个同步通知呢,大家都知道我们支付成功以后要跳到一个成功页,所以这就是我们支付宝支付成功以后要跳的页面地址,那这个异步通知呢,同样的,我们以前呢,大概说了一下,说这个是我们这个支付宝支付成功以后,每隔一段时间呢,会给我们来发一个消息,告诉你支付成功了,而且呢,这是后台发送的,我们可以专门来写一个这个请求处理,这个消息发来呢,我们可以来修改一下订单的内容,我们后来再说,但是这两个地址呢,现在唯一出现的问题就是。我们在这写的是local host local host有没有什么问题,首先注意local host的含义,就叫本机,好,那我现在拿我的电脑在这测试,那肯定没啥问题,因为我本机有我这个项目,我启动了eclipse,给里边呢装载了这个项目,但是呢,现在假设我们这个应用上线或者没上线,我们现在是张三在这来测试,那张三在这测试我们的这个支付,他在这一旦支付成功以后,张三用他自己的电脑,我们来测试一下,支付成功,好,我们还是使用这个沙箱的账户来进行支付,来到我们这个沙箱里边,把我们这个沙箱账号呢复制过来,那在这儿呢,一旦支付成功来到我们这一块,好,这些没用的呢,我们全部就关掉。
01:43
我们使用这个沙滩账号支付密码,好,我们现在呢来支付,如果一旦支付成功,我们就要跳回页面,但是呢,对于张三来说,这个local host其实就是他的这个机器,所以我们在这呢一支付,但他的这个机器里边哪有我们的这个什么支付宝的DEMO项目,他呢新买的机器,它也不是程序员,也不会运行这些项目,所以怎么办呢?那么这一块的地址,我们看他这个跳回来会跳到哪,它会跳到local house,那是我们的浏览器访问我们的local house,那也肯定没问题,我们有一个TOMCA8080,但如果是张三,那这个local house啊,其实就是一个404的访问不通的,包括呢,直接我们这个浏览器就网络地址连不上的问题,所以我们这个支付宝呢,也告诉我们了,无论是我这一块要用的这个同步毁调,还是我们这个异步通知这个页面,然后呢,它的这个地址是必须外网可以访问的,什么叫外网,就是任何一个人想。
02:43
要访问我的这台电脑都是可以访问的,那默认我的这台电脑能被外网访问吗?我们说不能的,假设我的这个电脑,它的这个IP地址是幺九二幺六八点几点几,大家拿这个地址如果去来访问我的电脑,你现在坐在美国可以访问到吗?那肯定不可以,192168是你本地的局域网,你可能访问到别的机器了,所以我们现在呢,就要保证的一件事是,我们当前这个电脑被坐在世界任何各地的任何一个人都能访问到,那想要都能访问到,大家就来看一下京东,现在呢,全世界人都可以访问到京东,原因是京东呢有一个域名叫京东点com,所以呢,如果我们想要按照正规的流程,应该是把我们这个项目写好以后,我们自己买一个服务器,这个服务器呢,必须我们称为有一个东西叫公网IP,公网IP呢,相当于我们分配到的全是。
03:43
推荐人都能访问的一个IP,然后呢,给这个IP再来绑定一个域名,域名呢相当于它的这个别名一样好,我们这个域名呢,假设就叫古丽麦尔点com。以后呢,只要别人访问鼓励麦点com,然后呢域名解析器,我们公网上的域名解析器,接下来呢,就知道这个域名对应的是这个IP地址,相当于别人拿你的这个名字,张三,然后呢能找到你家的门牌号这个IP地址,然后呢真正详细去访问到我们IP地址对应的电脑,这是我们的正规流程,域名跟电脑绑定,然后把我们网站放上去,但最终还要去来进行我们整个网站的备案,但我们现在呢,就不弄这么复杂呢,我们想让别人访问到我们的这个。
04:30
电脑有一个技术叫内网穿透,比如说我们可以让我们的电脑在世界各地都被访问到,那内网穿透的原理呢,我们可以先来看一下,这样我们就知道它是一个怎么样的使用流程。首先我们这个内网穿透,我们先来看第一种场景,我们第一种场景呢,假设别人的电脑想要访问京东能不能访问,这是一定能访问的,因为京东这个域名绑了京东商城的这个服务器地址,包括我们在这儿来P一下,好,我们来进入我们的CMD,我们可以在这来聘一下我们的京东点com p京东点com,京东点com,然后呢,京东的这个域名,这个公网IP,其实就是这个,诶111.13149108,这是一个公网地址,而不是我们本机的192,所以呢,我们ping京东能ping通,因为我们这个域名绑定了一个公网地址,别人任何电脑只要连上了网,Ping京东都能P通,想要P呢?我们先去我们这个网络上的D。
05:30
S这个就相当于保存了每一个域名对应哪个IP地址,每一个域名对应哪个IP地址,那现在去问一下它对应的IP地址是什么,然后我们接下来带着IP地址直接去访问好,所以呢,现在我们这个别人电脑想要访问京东都能访问通,那别人电脑想要访问我们能访问通吗?那行,他就算知道我们电脑的IP,我们电脑的IP呢,大家现在都知道我们电脑IP是192168,这个网站说IP con,如果我告诉你我的电脑是192168,什么13.7也好,什么0.111也好,或者我们这个56.1也好,或者我随便告诉你一个IP地址,大家打开自己的电脑,然后呢,你去来访问我19216856.1,这肯定访问不通,因为呢,我的电脑只在我的局域网,我访问外网是访问通的,那外网呢,想要给我访问是访问不同的,因为外网都不知道我的这个地址在哪一块,但是有些同学就说,诶,那我们为啥聊QQ。
06:30
都能聊得通呢,其实是这样子的,别人呢,电脑肯定装了一个QQ软件,那肯定没问题,我们的电脑也装了一个QQ软件,我们聊QQ的整个消息发送,然后呢,是QQ这个软件跟QQ服务器建立起连接,那QQ服务器的IP地址是固定的,那我的电脑的QQ软件也跟QQ服务器是建立起连接,没问题的,所以我们要发消息呢,这个消息先到达QQ服务器,有QQ服务器呢,再通过我们这个连接再转发给我们的电脑,那么大致呢,是一个简化的这个流程。
07:05
所以呢,我们目前这种情况就是我们访问外界一定访问的通,但是呢,外界想要访问我们访问不通,除非我们跟外界装了一个互通的软件才可以访问的通,那现在呢,我们想让外界比如这个京东也好,别人也好,或者别人电脑也好,拿一个域名能把我们访问通怎么办呢?那就除了走正规流程外,我们测试期间还可以做内网穿透,内网穿透呢,那就是这样。我们去内网穿透的这个服务商,我们去服务商里边呢,服务商让我们下载一个软件,比如我的电脑我下载了一个软件,然后呢,我的软件只要一启动,我们的软件呢,跟内网穿透服务商就会建立连接,这是一个长链接,永远在的,然后呢,内网服务穿透的这个服务商还会为我们这个软件相当于临时给一个域名,这个域名呢可能很长,是一个随机的域名,这个域名也不需要备案整整,因为这个域名呢,是他这个服务商的二级或者三级域名,也就是说服务商比如是京东点com或hello.com,他呢绑定一个域名,备好案以后,它下边的这些23级,无论多少级,无论生成多少个域名都是无需备案的,所以呢,他为我们临时分配一个域名,分配好域名以后呢,接下来别人想要访问我们,使用哈哈点哈点com来访问我们,所以别人想要访问哈哈点哈,因为这个哈哈点hello呢属于哈点com的旗下。
08:34
所以呢,别人先会聘通哈点com,知道他的IP地址,让别人访问我们的一切请求,先会到达内网穿透的服务商,然后呢,内网穿透服务商一看你是访问哈哈点com,那是这个电脑的这个软件跟我绑定用的域名,所以呢,他将所有的请求想要透过这个传输通道,然后呢直接传给我们的电脑,那就实现了别人能访问我们电脑,比如我们电脑里边,诶,我们部署了我们商城网站,别人使用域名啊,我们这个域名呢,是一个虽然很长很难看,很丑的域名,但别人通过这个域名能直接访问到我们电脑的商城网站,这我们在测试期间,那就比较好用了,同样其他的电脑也都可以这样,他只要装了我们这个服务商的软件,为这个电脑呢,分配一个另外一个域名,然后呢,只要有任何人去来访问我们这个域名,哈哈,或者呵呵,然后呢,我们内网穿透服务商就来匹配是哪台电脑的,跟着这个隧道,然后呢,传输到。
09:34
这个电脑的数据里边,所以呢,这就是我们说的内网穿透的整个原理,所以我们现在呢,想要让支付宝能访问的通我们的这些电脑地址,而且呢是外网,其他任何人都能访问,那么就可以使用内网穿透,那内网穿透呢,其实使用的场景也非常多,那内网穿透呢,在现在比如有一些开发测试,我们微信支付也好,那么这个回调呢,都要能访问通我们的电脑,做们开发测试,这些支付我们可以用,包括我们的一一些智慧互联。
10:09
比如我们来做的一些物联网的东西,那我们现在比如家庭,我们现在做一个家庭的智慧家庭系统,我们现在的整个电脑有五六台电脑,包括呢,还有一些电器设备等等等等,那我们现在出门在外,我想要能控制我们家庭的这些设备,那怎么办呢?就要保证我们能访问通我们的家庭,我们出门在外了,我们的路由器我我们肯定连不上了,所以呢,我们路由器呢,但是连了一根外网。比如有些路由器呢,都可以绑定一些,比如花生壳,诶那这样的话呢,我们这个路由器连着外网,然后由我们的这个内网传统服务商给我们这个路由器分配一个域名,接下来呢,别人到外网的任何地方都能访问通路由器,然后呢,接下来我们再来给路由器发任何命令请求,路由器来命令控制别的这些设备,这就可以来做一个我们的智慧家庭云系统,然后呢,包括我们可以来做我们的远程控制,就是我们刚才说的这个场景,以及我们做一些私有云,我们家庭系统里边再来加一个网络,存储所有的照片、图片等等,这种信息一回家全部备份进来,那出门在外想要看的连上我们这个路由器,但路由器呢,直接使用一个公网的这个域名。
11:21
使用内网穿透连上我们的路由器,然后呢去来访问我们所有的私有存储数据,所以呢,这就是我们的一些使用场景,那在我们这个开发测试期间,我们就可以来用内网穿透,让支付宝呢访问通我们的这个项目,那这个内网穿透的软件也很多,什么net APP序段,华生牌等等一大堆,那么呢,就来采用这个续段,CTRLC,现在这个内网穿透的这块东西,大家可以去来搭建免费的,我给大家的这个续段呢,是付费的,一个月九块钱,我们测试一下就行,好我们现在呢点进来在这一块呢,第一次来进行登录。如果大家拿微信第一次登录,有可能还会给大家去来赠送一条免费的这个数据,那我呢就直接登录进来,好,那们现在先来登录续段,我们要使用的先来登录序段,好那点一个同意,那登录过来以后呢,我们来看它的这个内网穿透的使用流程,第一步安装客户端,那就像我们说的这个原理一样,那我们这个服务商软件客户端就是跟服务商建立连接的,我们只要一安装就好了,好那接下来我们安装客户端,那安装客户端,而且每一个人安装的都不一样,它这个是呢,一条隧道对应的一个客户端,大家不要用别人的,好我们点下载链接Windows系统,我们把这个客户端呢下载,那下载完,然后我们直接一安装就行了,这是我们说的第一步,安装客户端完了以后呢,接下来建立隧道,好,我们先来安装客户端。
12:48
走来,直接双击。好,我们来双击安装一下我们的这个内网穿透客户端,我现在就让它安装到我们的C盘,我点一个开始安装,这块呢提示安装失败,我们这个安装一定要使用我们的管理员身份来运行这个东西,好,我们来右键,右键呢我们以管理员身份来运行安装,来点一个安装好,那么这一块呢就安装成功,那安装成功以后,那接下来我们这个客户端,只要安装了,来到我们这个客户端列表里边,它这一块呢,就感受到我们有一个客户端,那接下来呢,我们想要穿透第二步就是来建立隧道,来点一个建立隧道,这个隧道呢,我们就得购买,我点一个购买。
13:29
我就拿一个月的测试一下,如果微信可访问呢,它其实呢是比较难做的,所以这一块呢比较贵,我们现在支付宝呢,就来简单测试一下,我来点一个立即购买好我们这个支付成功以后呢,接下来我们就可以来建立隧道,我们点一个新建隧道,这个隧道呢,就是我们刚才买的这条隧道没问题,然后呢,我们绑定的客户端就是我们安装的,哎,我们的电脑这个客户端,那接下来映射类型,我们现在是一个HTP网站,我就点个HTV网站,接下来就是内网主机。内网主机呢,就是我们呢,接下来可以映射我们内网里边的任何机器,那我们现在呢,这个支付宝项目就内运行在我们的本机,也没有运行虚拟机或者之类的,所以我们直接映射的IP,我就来写本机127.0.0.1,然后呢,内网端口大家注意,因为我们的这个项目启动我们的这个测试项目呢,启动用的是8080端口,所以呢,我们让它映射到8080。
14:27
然后我们这一块呢,接下来我们来点一个保存就行了,一保存以后呢,我们这个隧道就建立好了,这个隧道呢,只要一建立好,它这儿呢也是生效状态,大家接下来注意,然后呢,我们这就会给我们分配一个域名地址,这个域名虽然很丑,但是我们把这个域名呢复制过来,我们再来去来访问,来访问我们的这个域名,加上我们网站808080,我们不用带了,因为我们这个域名绑定的就是8080,然后呢,加上我们的这个网站地址。CTRLC来看那域名能不能访问通,我们电脑里边正在eclipse里面运行的网站回车,好,我们发现呢,现在那域名就可以访问通了,所以呢,以后我们的整个回调我们就在这儿呢,可以配置让域名来进行回调,所以这一块的地址走来写上域名地址。
15:21
点NET8080呢,也不要,因为我们这个域名绑定的就是8080端口,所以我们接下来所有的这一块,我们把这一块的地址就配成我们的域名地址,这样呢才是一个完整的流程,然后我们接下来重新启动我们的这个服务以后,我们想要访问我们的这里边的项目了,那么就直接使用这个域名来进行访问就行了,所以我们接下来再来重新测试一遍我们的支付流程,配了域名以后,我们现在的这个域名能访问项目,我们把这个全部关掉,其他都关掉,好我们现在来重新付款们来刷新我们现在是使用的域名,这是我们的订单,我们的支付金额随便写上,然后呢,商品描述能点一个付款。
16:08
来到我们的付款页面来登录账号进行付款,这个沙箱环境的账号复制过来好。123456,这是我们的六个一的密码。跳到我们这个支付页,这个支付页呢,它是让我们这个输卡号,那是由于我们这个余额不够,那余额不够呢,大家还可以去自己的沙箱里边给这个账号来充值,我们来到这个沙箱账号里边,我们给我们现在的这个买家账号,我们现在是12346挺多的,我们点一个充值,好随便充上多少,好点击确定。现在我们这一块呢,就充值成功,然后我们再来去支付重新刷新。现在我们就可以来使用余额来进行支付,1234,那么现在呢是六个一好123456,然后我们点一个确认付款,只要付款成功,然后呢它就会回调,回调呢跳到我们现在指定的这个新地址,我们是拿域名指定的,然后呢还有一个异步回调,我们来看一下,把这个控制台放在这儿,你看好现在呢回调成功来到我们这儿,我们现在呢都是域名访问的,没问题。
17:17
包括呢,它还有一个异步回调,来看控制台有没有相关的异步回调,因为异步回调呢,它在这是一个异步回调notify URL是我们这个not法URL这个地址,所以来到我们的法。异步呢,它在这儿会有提示,什么这个异步回调还要验证签名,验证成功了怎么办?当然整个完成了怎么办?完成了以后呢,它会outp print来输出一个success,大家也可以在这sit out,只要我们支付成功了,它就会调用我们的这个方法来输出一个success,那么这一块呢,也就不用测试了,我们整个流程那就打通了,那当然呢,可以先把我们这个内网穿透来配置好。配置好了呢,我们下一节课就直接整合到我们项目里边来做支付功能。
我来说两句