1.支付项目中,如何保证支付的安全性?
A。采用预支付的形式隐藏参数的真实性,
B。一处回调中判断金额与下单金额是否一致,如果不一致的情况下订单为异常订单状态
C。基于参数验证签名形式防止数据被篡改
2.如何保证支付回调中,因为网络抖动产生的幂等问题?
为什么要注意幂等?
商户端没有及时响应ok给结果给支付宝,支付宝默认重试,在重试的过程中就造成幂等
1.业务全局ID判断业务是否已经执行过了
3.同一笔订单如何防止用户重复的操作?
1.前端按钮置灰
2.后端采用判断全局业务ID是否已经保存,保存了就不执行该条业务了
4.用户已经支付成功,但是商户的订单状态还是未支付如何处理?
1.采用定时任务实现补偿,根据支付的全局id调用支付宝接口,查询是否已经支付过,如果已经支付过的情况下,则同步状态到客户端(程序自动补偿)
2,人工补偿。
5.用户秒杀抢购成功,就是不支付?如何实现回滚?
1.基于MQ过期实现(推荐)
2.使用redis过期时间