支付宝扫码支付的重要细节笔记

时间:2024-04-06 11:32:01

一、理解主动轮询和回调的区别

主动轮询就是:利用间隔时间,设置一定的频率不断地查询这个订单的交易状态:付款成功了么?退款成功了么?交易关闭了么?

回调就是:在我们付款成功后支付宝,去调用回调地址,把一些支付宝里获得的有关订单所有的重要信息作为参数传给到我们的回调地址中。

二、避免单边账(后续详解)

三、同步请求的加签和验证签名(目的是保证与支付宝对接的安全性)

支付宝扫码支付的重要细节笔记

这是支付宝中提供的加签方法支付宝扫码支付的重要细节笔记

请求支付宝后会拿到一个响应

对第一个参数进行验证

字符集统一的为utf-8

 

三、回调的验证

支付宝扫码支付的重要细节笔记

支付宝官方会提供验证的方法,我们也可以回调提取所需参数和项目内的订单信息逐一进行校验

四、过滤掉重复的通知

使我们的回调具有秘能性,反复回调的过程中会有信息变化的可能,如果一个情况已经确认完成,重复的回调一定要及时过滤,以免y出现不必要的错误

五、一定要验证并确保可接受的异步通知是支付宝发出的,避免不必要的损失,就是非法的劫持,窃取,小偷强盗行径

支付宝提供的方法进行验证,如果是线上对接,就可以和对接人所要发出异步通知的IP或者其他限制的一些方式

支付宝扫码支付的重要细节笔记

收到支付宝回调作为第一个参数的内容放入这个方法,通过返回的boolean值来判断是否该接受这个回调

六、回调请求的返回

项目中需要返回给支付宝的信息,是有一定规则的

支付宝扫码支付的重要细节笔记

项目内的一系列操作完成,一定要给支付宝成功的返回,不然支付宝就会一直重复通知,要响应,到底成没成功,

项目中要考虑的事情:回调重复通知的过滤机制