对于一次订单支付过程,如果用户重复多次点击支付按钮,或者是网络异常导致订单已经支付成功了但没有及时反馈给用户,用户再次点击支付按钮,就可能造成重复扣款,造成严重后果。
考虑到幂等性的原理,可以给订单生成一个guid,客户端请求服务端时携带guid参数,服务端就可以验证此次请求是不是同一个订单,再判断订单是否已经支付完成。
1、生成订单时,生成guid;
2、支付时请求参数携带guid。
为了减少服务端压力,对于短时间多次重复请求,做接口过滤。
本文介绍了一种通过使用GUID来避免重复支付的方法。当用户发起支付请求时,系统会为该订单生成一个唯一的GUID,并将此GUID作为请求参数的一部分发送到服务器。服务器通过验证GUID确保请求的唯一性,从而避免因重复点击支付按钮或网络延迟导致的重复扣款。
对于一次订单支付过程,如果用户重复多次点击支付按钮,或者是网络异常导致订单已经支付成功了但没有及时反馈给用户,用户再次点击支付按钮,就可能造成重复扣款,造成严重后果。
考虑到幂等性的原理,可以给订单生成一个guid,客户端请求服务端时携带guid参数,服务端就可以验证此次请求是不是同一个订单,再判断订单是否已经支付完成。
1、生成订单时,生成guid;
2、支付时请求参数携带guid。
为了减少服务端压力,对于短时间多次重复请求,做接口过滤。
6364
4912
1690
5220

被折叠的 条评论
为什么被折叠?