00:00
接下来呢,我们来进行支付功能的开发,那么首先呢,我们先来看一下,在支付功能当中,这里面呢,有一张完整的支付调用流程,那么这个支付调用流程呢,是以一个时序图的形式来表达的,所以呢,我们把这个图放大一下啊来看一下,那么我们发现呢,这个图当中呢,一共有三个角色,那么这三个角色呢,分别是用户,还有一个呢,是商务系统,商务系统呢指的就是我们的鼓励学院这个系统,还有一个呢,就是支付宝的支付平台了。那么这三个角色是如何相互调用的呢?首先要由我们的用户向我们的商户系统发起一个交易请求,那么这个交易请求呢,就相当于下订单了,好,那么在商务系统接到这个下订单的请求之后呢,它就会向支付宝发起一个。支付请求,那么这个支付请求呢,这个接口呢,就叫做阿里配点trade点配置点配了好,那这个接口呢,就是我们所说的下单接口,是由商务系统向支付宝发起的一个展示支付二维码或者是展示支付登录窗口的这样的一个请求,那么此时呢,支付宝就会向我们的用户展示支付二维码和支付宝的一个登录窗口,那么用户此时呢,有两种方式选择支付。
01:27
第一种方式呢,就是用手机的支付宝扫描在这个地方呢,啊,显示出来的二维码啊,然后呢,进行一个正常的支付流程,那么。在支付宝当中进行密码的输入,或者是指纹的录入之后呢,就是相当于一个确认支付的一个过程,这是第一种方式是扫码的方式,第二种方式呢,支付宝在展示支付二维码的同时呢,其实也会展示一个支付宝的一个登录页面,那么我们的用户呢,也可以选择输入支付宝的用户名,也就是输入支付宝的账号以及支付密码啊,然后呢,点击登录。
02:07
好点击登录之后呢,支付宝呢,会把这个登录页面切换为一个支付页面,那么在支付页面当中呢,我们的用户可以选择一个支付渠道,选择完支付渠道之后呢,输入支付密码,那么输入完支付密码之后呢,其实就是一个确认支付的一个流程了,好在这个确认支付的流程完成之后,我们继续往下看这张图哈。那么支付宝呢,会对我们的,比如说你输入了指纹呀,或者是输入了这个支付密码呀,那么支付宝呢,会对这笔支付呢,进行一个支付校验啊,在这个流程当中,如果支付校验成功了,也就是支付成功了,那么支付宝呢会跳转到我们商户的平台当中的一个支付成功的页面当中。所以呢,这面呢,它会有一个浏览器的跳转哈,就直接呢,就跳转到我们的商户平台当中的一个支付成功的页面当中了,那么支付宝怎么才能知道要跳转到我们商户平台当中的哪个页面呢?换句话来说,支付宝怎么才能知道我们商户平台当中的哪个地址,它是一个支付成功的地址呢?那么在我们首先。
03:21
对支付宝发起一个支付请求的时候,我们会把这个地址。以一个return URL的形式传递给支付宝,所以在这个接口调用的过程当中,其实呢,我们会携带一个参数,这个参数就是URL,所以在这个过程当中,我们就会告诉支付宝,一会儿支付成功了之后,你要给我做一个页面的跳转,那跳到哪去呢?就跳到这啊,所以这个时候支付成功了,支付宝呢,就从前面我们发起的请求参数当中获取到这个尾存URL,然后呢,发起一个浏览器的跳转,那此时呢,这个浏览器就跳转到我们的支付成功页面了,好,那这个呢,只是我们支付的用户,他可以在我们的商户系统当中看到这个支付成功页面,但是呢,我们的户系统本身还要对我们的订单进行处理,所以呢,我们的商户系统也要呢,接收到这个支付成功的通知,那么这个通知就是我们在商务系统当中要预先呢开发一个接口,这个接口呢,我们管它叫回调接口,为什么叫回调接口呢?因为是支付宝。
04:26
那边他确认支付成功之后,会在支付宝端主动的向我们的商务系统发起调用的这样的一个接口,所以呢,这个接口呢,是由我们商务系统来开发,然后呢,由支付宝来发起调用的。然后我们会在这个接口执行的流程当中呢,去修改我们商户系统当中的订单状态,将订单由未支付改成已支付的这样的一个状态,好那么这一次支付呢就完成了。
05:01
那有可能呢,由于网络的原因,我们的这个接口呢,不能够被支付宝成功的调用,或者是说支付宝呢,没有能够成功的调用我们的这个接口的时候,那么我们的系统呢,就不能去处理我们的订单了,也没有办法把我们的订单呢,由未支付改成成功支付这样的一个状态了,那怎么办呢?此时呢,我们的商务系统可以呢,向支付宝主动发起一个查单请求,我们来主动查询一下这笔订单是否支付成功了,如果支付成功了,那么支付宝呢,就会将查询订单的结果返回给我们的商务系统,那此时呢,我们的商务系统在后续的业务操作当中呢,也可以去修改这个订单状态。那么与此同时呢,如果我们呢,不去开发这个回调接口啊,那么直接进行一个查单操作,其实呢,也是可以的啊,在我们的程序当中呢,我们是既开发了回调接口,也进行了查单操作啊,就是在我们双重保障的情况下呢,确保我们支付成功之后,我们的订单的这个状态呢,可以在我们的业务流程当中呢,被正常的修改,所以以上呢,就是我们在支付宝支付的过程当中的一个完整的交易流程图。
我来说两句