温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
接下来呢,我们来看一下支付回调,那么V2版的支付回调呢,它和V3版的最重要的一个区别就是它的回调参数当中没有经过加密的回调报文,所以呢,我们直接可以从回调参数当中解析出我们所有的回调报文,那么第一个步骤呢,就是从request当中解析出字符串形式的通知参数,接下来呢,我们利用我们po文件当中加载的微信的SDK对我们的通知参数呢进行验签。验签失败的话呢,我们就返回XML格式的应答结果,所以这个地方呢,我们要用之前我们引入的工具类,将我们的map集合转换成XML类型的数据,那响应给微信端。接下来呢,我们将我们的通知参数解析成map对象,然后呢,从map对象当中获取到我们的响应状态,对响应状态进行判断,如果响应状态不是它指定的success的话,那么呢,我们就返回失败应答,那么通过刚才的验签的过程和失败应答的过程呢,你会发现这里面的响应码和响应消息呢,都和我们的V3呢,还是有所区别的哈,好,那接下来呢,就是获取商户订单号,那从我们的响应报文当中呢,获取到商户的订单号,再从我们的商户的订单号当中呢,获取到具体的订单记录,这样的话呢,我们对订单记录当中的敏感数据进行判断,那么这个也是VR当中对我们提出的要求哈,比如说我们的支付金额,要将我们订单当中的支付金额和我们通知参数当中的支付金额进行比对,如果比对不成功的话,那么我们呢?
01:50
就是金额校验失败,要返回错误的应答,不会呢,对订单做进一步的处理好,那接下来呢?就是处理订单的过程了,处理订单的过程呢,也包含两个步骤,第一个步骤呢,就是更新订单状态,第二个步骤呢,就是记录支付日志,当然这个地方我们也要考虑到接口调用的密等性,所以呢,我们先把订单的状态获取出来,然后呢判断一下它是否是未支付的,如果订单未支付,我们再做更新订单和记录支付日志的操作,如果订单已支付呢,那么我们就忽略这个步骤好,最后呢,我们返回一个响应报文,那么APIV2的响应报文严格要求我们的return code必须是success message必须是OK,这样的话呢,才算是一个成功的应,并且呢,这个里面没有响应状态码,也就是二或者是204那个响应状态码哈。
02:48
到这为止呢,就是整个我们APIV2的一个支付回调了。最后呢,我们对VR版本的支付过程呢,做一个简单的测试,那么我们在这个地方呢,点击确认支付VR。
03:04
弹出二维码之后呢,也就是说我们成功的调用了native支付的API。接下来呢,我们发起一笔支付。好,支付成功。好,那现在呢,他已经跳转到了我们支付成功的页面,说明呢,我们的支付通知接口呢,已经接收了微信发送过来的请求。
我来说两句