00:00
接下来继续完成购物相关的功能。我们看一下我提交完订单之后的一个页面啊,就是这样的支付的一个页面。也就相当于订单的一个详情页啊,这里面还有订单的详情,显示了你购买的一些商品的一些信息,对吧,包括你选择的一些支付方式。那接下来我们写一个功能订单的一个详情。还有这里一个订单的一个过期时间,对吧,上节课我们也处理了这个过期的时间,只不过我们是十分钟啊,这个他这个是比较。长一些好,我们也去。改一下,把它的时间啊改的长一些。在这里啊。这是十分钟,好。我们也改成一天啊。接下来。写一个路由。
01:01
写我们的订单的详情。盖的方式啊,这里接收一个订单。请求溴方法。这里依赖注入进来啊订单。啊,详情的话直接返回它就可以了。Item。然后使用。订单的全是风。
02:04
啊,来看一下这个接口。把这个先关一下。登录一下。后面跟上订单的ID。看一下我们现在订单是什么ID。四和五啊,有两个啊。然后订单的数据就有了,对吧,但是。
03:00
这里还会,嗯,需要订单的一些详情,比如说关联一些商品信息。好,那我们看看这个。它里面有额外的用户信息。订单的详情。我是不是加一个额外的商品的信息。商品数据。呃,它有多个的商品,所以返回的是一个集合啊。Order。
04:02
从它里面去获取商品的一个关联。然后使用商品的传风。牛啊,这个呢啊,我们用属性啊,动态去获取它的这个商品的一个关联,因为我们在order里面模型里面配置了商品的一个呃,远程的一对多的一个关联,所以可以直接呃通过这个中间表可以拿到这个商品的数据,这个在之前也讲过。接下来测试一下。您可录的物子,看看能不能拿到商品的这个数据。这里没有配置啊。在这里我们要呃,加上外面才能使用,才能使用include。我会找他,这样就行了,来看一下。好,这样就有商品,它关联商品的数据,它有两条商品是吧,哎,这个订单关联的一个商品。
05:02
啊,这样订单详情就行了,那也就是我们这个页面是有了啊订单那个详情包括啊它的一个时间对吧,包括。呃,订单的呃,包含的一些商品,那接下来就是支付了啊支付呢,我们没有这么多付,呃支付方式就只有啊支付宝啊微信啊,所以这里我们应该选择一个支付方式,然后点击一个支付方式之后啊,假如这里有支付宝啊,这里有微信,点了之后呢,它会弹出来一个。二维码让用户去扫码去支付,对不对啊,下面我们要写的就是这一步功能,就是生成支付的一个。二维码。我们先写支付宝支付。就是说你不管写微信支付还是支付宝支付,你都要先在微信或者支付宝有一个商户的一个账号。对吧,我们先写支付宝支付来看一看。支付宝的这个商户的账号。
06:03
这里有几个登录选项啊,啊,我们是开发者,就选这个就可以了。然后登录。用支付宝扫码进行登录。登录完成之后,就会进到这个开发者的控制台。在这里可以创建,哎,我们的网页移动的一个应用支付的接入,但是我们是个人号,个人账号的话,你创建不了,你必须得公司账号才能去申请这个支付的一个功能。啊,这里有相关的啊,支付用到的一些文档,我们看这个网页移动应用。嗯,支付呢,首先我们要去申请一个这个服务,然后他会给我们相应的一个密钥,我们使用这个密钥去进行支付就可以啊,因为我们个人账号是没有办法去申请,所以我们使用它的沙箱环境,沙箱环境啊。在这个这个地方啊,就是我们的控制台里的研发服务。
07:03
好,这里面有我们的沙箱环境。使用沙箱环境来进行支付的一个测试,就是当我们功能开发完,然后沙箱环境测试支付通过之后,我们可以再配上啊,用企业号申请的正式的支付的这个啊密钥去测试一下真正的一个支付,看正不正常啊,所以开发阶段我们一般使用这个上线环境啊,文档的话,这个是支付宝的接入文档。啊,就是之前我在这儿点进来的。呃,这是支付宝如何去使用,如何去开发。然后。开发工具里面有这个沙箱环境相应的使用的一些文档。听了。包括如何进入。那接下来我们就使用。沙箱环境来进行我们功能的开发。我们使用支付宝啊进行支付,那么就需要和支付宝他们提供的服务,我们进行交互,就需要去访问他们的API啊,在文档里我们都可以看到这些API,我们来找一下文档。
08:07
首先我们用的是网页移动应用啊。啊,这个开发指南是让我们快速上手去如何使用,包括这个密钥的生成,应用的创建,以及啊最后的一个配置。然后这里面API有我们所有用的到的,就是说可支付相关的一些API有这些接口啊。那我们要自己去实现,去请求这个接口的话,我们要写很多的代码啊,所以说我们可以用别人写好的一些工具。拥有名是PP,所以可以使用这个composer,有人写好了支付相关的一些包啊。然后搜索这个配就可以了,支付。使用这个这个它。嗯。就是说集成了阿里和这个微信的一个支付的扩展包啊,这个是底层的一个包,然后我们可以找找love相关的包啊。啊,这个配。
09:01
使用这个啊。可以看到啊,他是请求的,呃,依赖的这个包啊,这个是比较底层的一个包。啊,我们要使用这个扩包先安装。复制一下。在我们的项目目录下啊。我要加上这个,我会内存不足,你们可以不用加。好,先让他安装的,我们接着来说。啊,支付宝这块的啊,因为我们申请不了这个正式的一个,呃,这个应用啊,就是说这个。所以我们拿这个啊沙量环境来测试。再给大家说一下是怎么进入这个商业环境的啊,从我们的。从控制台开始啊,后面的我都关掉。
10:01
啊,就是我们的管理中心,我们的控制台下面有这个研发服务啊。这个就进到了我们的沙箱环境。叫什么?然后。从文档里面。找到网页移动应用。然后找开发工具,这里面有沙箱环境的。啊,相关的一些。使用啊这里。啊,刚才说到了,我们要请求他的这个大量的一个API是不是。所以支付宝它也提供了一些。SDK。啊,有各个语言的一个SDK。啊,我们使用。Composer使用。一个支付相关的一个组件啊,刚才已经在下载了。使用的是这个啊。啊,那我们看看沙箱环境的这个文档。
11:03
呃,首先你要去设置你的这个密钥。清楚吧,啊,这里有告诉我们去怎么去设置。先看一下啊,组件已经安装完成了。看看这个组件怎么使用啊。呃,5.5以下需要引入,我们这个是八不用引入啊。然后。去创建一些配置。好,使用的时候啊,直接定义一个我们要支付的一个数组,然后使用它这个配门面提供的啊。这个方法就可以进行支付了。我们先把配置发一发啊。把配置发布到。com里面。
12:00
这样的话,在唐菲格下面会多一个。配置。啊,这个是支付宝相关的配置,然后它因为里面需要用到这些变量,所以手册上也跟我们说了。这文档上也说了,我们把这一个放到因为里面去。接着来看看这个配置,这个配置呃,我们先看啊,阿里的啊,就是说支付宝的需要一个应用的ID对吧,需要一个异步通知的一个地址。然后还有支付成功同步通知的一个地址。啊。异步通知呢,就是我们支付完成之后,他会请求我们。项目的一个API去告诉我们支付成功了,这样的话,我们可以通过这个异步的一个通知去修改订单的状态啊,同步的通知呢,就是说啊,我比如用户扫码支付完成之后,支付宝它回调的一个地址,就是给我们返回到一个页面啊,就返回到我们项目中哪个页面回调的一个地址。
13:07
还有就是呃,密钥啊,公钥以及自自己的一个私钥,这个公钥是怎么来的呢?是我们上传好我们的公钥之后,它阿里云会基于我们的公钥生成一个阿里云的公钥啊,然后还有我们自己的一个。这个私钥,这个私钥是在我们本地的,本地的话是我们放到自己这个项目里面,就不要暴露出去的,对不对,我们的这个公钥是上传到阿里云,阿里云会给我们新生成一个它自己的一个公钥,就这这么几个配置,要是然后就是说我们要请求阿里云的支付,它有两种认证方式,一种是使用这种,呃,公钥和私钥的一种认证,还有一种就是使用证书啊,这种方式认证知道吗?然后这里面配置上这个文档上也说了。啊,它支持应用公钥和公钥证书两种形式。啊,所以我们要使用这个沙箱环境的话,也要先去设置这个公钥啊,当然如果是正式的我们的应用的一个支付的话,就是不是沙箱环境是正式的支付宝支付的话,但我们创建好应用,申请好之后,是可以去下载这个证书的。
14:07
啊,也可以得到自己的这个K都可以啊,那看一看怎么去。生成这个密钥,可以看这张啊,生成密钥并上传。可以下载对应平台的工具去生成这个密钥啊,下面有详细的介绍如何去使用,这里它是以Mac的啊为例子。我们下载这个Windows的啊,我也下载完了,来弄一下。下一步注意你安装的时候这个目录啊,不要有空格,有空格的话呢,这里说了会导致这个公司要一个乱码的问题。然后,嗯。装好之后呢?这些公钥和公钥证书啊,大家可以看一下,了解一下它的区别。我们使用普通公钥的形式就可以了啊,刚才我们也说了,我们这个支付是有两种认证方式,一种使用嗯,就说公钥,一种是使用证书啊。
15:12
看看怎么生成啊,在这个生成密钥里面点这个生成就可以了。这个r sa2呢。然后呃,选择自己的这个格式啊,我们是PP,我们就选这个。点击生成,可以得到这个应用的一个公钥。来看一下啊,这已经安装完成了,直接运行。然后选择非加我打。生成。这个就是我们应用的。这个是私钥啊,这个是公钥。是什么?然后我们要把这个公钥给上传到这里面,看到了吗。
16:04
这个是我已经传过了,比如说我更换,然后。呃,我们不用证书,我们用这个公钥模式啊,然后把你的这个。我们这个工具生成的。这个公钥。哎,给。复制一下啊。然后粘贴到这里面。啊,他会给我们生成一个支付宝的一个供养。了吗?嗯,好,嗯。接下来。我们就去配一下。我们的这个啊,他需要什么看看。需要一个应用的ID。对不对,把这个先关掉啊。应用的ID,在你注册完这个刷新环境,就可以得到这个应用的一个ID,复制一下粘贴过来,然后是。啊,公钥啊,注意这个公钥是阿里的公钥。你看是阿里的这个公钥,不是我们这个工具生成的这个公钥啊,而是我们生成这个公钥之后,刚才也看到了,大家就上传到这里之后。
17:03
啊,他会给我们生成一个啊,支付宝的一个公钥。就是这个。我们要用这个。配上。接下来是我们自己的这个私钥啊,私钥一定要保存好,不要泄露。复制下这个思想。好,把它粘贴到这里。这样我们的配置就配置好了。这个我就关掉了啊。配场之后。就可以使用。这个沙箱啊,进行测试了。也就是说,可以去测试我们的支付了。嗯,怎么使用呢?直接创建一个订单的数组,然后使用这个门面方法就可以了啊。来,我去定一个支付相关的一个路由。
18:01
找到路由文件。支付。带的方式就可以啊。那我们创建一个支付的控制器,先把这个注释掉。放到API下面。把这个注释打开。
19:03
第二个参数,我们请求的方法。来去这里面去创建一个方法。支付。写上request,因为我们需要一些呃,额外的一些参数啊。找BTP。我们需要一个类型啊。写一下验证。
20:05
需要一个tap。而且这个tap它的这个值。必须是。阿里云啊,这是支付宝。啊,我们写阿里云吧,然后和微信啊,我们现在支持这两种支付啊。因为我们要通过不同的这个配置来决定不同的一个支付的一个方式,呃,用不同的支付的方法。看这里支付宝是使用的这个方法,然后微信是使用的这个方法。对吧,所以我们要做一个区分。啊。把消息写一下啊。验证不通过时候的一个错误的消息。
21:03
支付类型。不能为空。支付类型只能是。这个啊。请求一下接口试下。重新生成个talking,我好久没有登录了。地址。配请求。支付类型不能为空,我们要传一个tap。如果type的值不合法的话。
22:02
啊。他会给我们提示我写阿里云。好,现在。能请求过来了对吧,所以这里我们要做一个判断。如果。Request里面的这个tap。那这个我们就使用阿里云的这个支付方法啊。否则的话啊,再写个衣服吧。在这里面我们就使用微信的支付的方法,对吧。接下来。写我们的代码。直接复制就可以啊。啊,这个要引入它的命名空间啊,使用的是呃,这个门面啊。
23:01
这个好。呃,它有几种支付方式,我们来看一看。这是他这个手册,如我们使用的这个支付的这个组件的手册啊。Have。然后。看支付宝的一些可用的方法,它有这么多类型,有电脑端的一个支付,这个就是我们常见的电脑端,然后就给我们出来一个扫码,对吧,让我们扫码支付,还有就是。啊,手机端的对吧,还有APP的刷卡的,还有扫码的,还有这些啊,我们主要就写我们用什么呢?用这个啊扫码的这个支付。看一看这些参数,这个是。我们。系统的一个单号,就是我们订单的一个单号。这个是交易的一个金额,然后这个是一个标题,清楚吧啊。嗯,那我们这个支付还需要什么,传一个订单的ID过来,对不对,我们对哪个订单进行支付嘛。
24:02
那我们再加一个参数啊。呃,订单的话。可以把它给。主要依赖柱子进来。啊,那我们再改改路由,加一些参数。这里加上这个。这里要一个订单的ID。好。这个时候这里单号就可以用订单里面的啊,我们自己设定的这个单号价格呢,就支付的金额就是我们这个订单的总额。啊,注意啊。我们总额呢,存的是分,所以你这里要除以100知道吧。
25:05
然后。标题标题,哎,我们怎么写呢?因为我们一个订单,它有很多商品。你可以把它啊,比如说写呃,随便取一件件商品的一个标题就可以,我们取第一个商品的。Order上面。所有的商品,然后。拿第一个的。哎,我们用这个查询播器取第一条。然后拿他的这个title好,然后再连上一些字等。商品啊等商品,呃。还可以再写上,哎,我们这个数量啊。
26:01
等多少件,多少件商品。你看这是商品的名字什么什么,然后等,然后多少件商品。这样的话。我们来试一下啊,试一下这个是返回的,这个是web的啊,我先看看配置正确不正确。把它改一下,改成扫码的这个。这个地址要改了,要改成orders,然后这里面加上一个订单的。订单的这个。ID我们看第四个啊。好,呃,网关错误啊。注意啊,我们用沙箱环境你要。就是说看文档上面他给你说了。要把网关修改为它清楚吗?但是我们不用修改,因为我们用的是这个组件,只要在配置里面把这个配置打开,它就会进入沙箱模式。
27:05
啊,把这个配置打开就可以了,这时候我们再来测试。是不是得到这个配置了。注意啊。因为我们用的是。这个扫码方式,所以它这里返回的这个不是说啊,我们直接使用这个链接,这个链接就会给我们生成二维码,不是这样的啊。啊,也可以给大家看一下,你这个你是打不开的。听了吗?他给我们返回的这个是扫码用的一个链接。知道吧,这个是扫码用那个链接,那什么意思呢?就是说我们得使用工具去把这个链接转化为二维码,然后用手机扫码就可以了。啊呃,其实我们只要返回这个就可以了,因为我们是提供的是API,就是说你呃VI啊,或者这个小程序啊,或者这个react,你请求我这个API的话,我只要给你这个二维码的地址,你自己可以用前端的一些工具去生成二维码。
28:00
清楚吧。我们直接在线上去,就是找一个生成二维码的一个工具啊。我们用这个啊,因为我们现在要测试嘛,先在这生成一下。生成二维码。哎,这个就是我们支付的这个二维码。叫什么?啊。我们用支付宝扫码就可以进行支付了。怎么测试支付呢?你注意啊,这里它有一个这个沙星版的一个支付宝,我们把它下载安装就可以了,安卓的手机上面,但它只是安卓版本,所以我们需要准备一个安卓手机,然后下载安装之后,那登录怎么登录呢?用这个沙箱正好啊。商家账号里面的买家信息,这个是我们的。账号我们的密码以及我们的支付密码啊,如果你的钱这个余额不够了,你就在这儿随便充就可以啊,想充多少充多少。清楚吧。
29:02
啊,所以我们就拿这个测试好,这个二维码已经。生成了我用手机现在扫码进行一下支付。支付完成了。给大家看一下效果,这里我把它截成了图给大家看一下。啊,这个是我扫码之后让我确认付款,这是我们的订单的信息,哎,就是刚才我们那个名字,因为商品名字就是英文嘛,等两件商品对吧。啊,然后输入我们的支付密码,支付密码呢就是。呃,沙箱环境里。这个支付密码。接着来看。输入完输入密码啊,就是支付成功。啊,这个是。这个订单的一个详细的一个信息。也就是说。这样的话,哎,我们的支付宝的这个支付其实就写完了,是比较简单的啊。
30:01
如果正式部署到线上,用公司的正式的K就可以了,就是把我们的配置,因为这换成公司正式的K就可以了。
我来说两句