支付宝重复充值
场景:
因为老系统的问题,在处理支付宝充值后的流程有些问题。没有异步回调的操作,将业务处理(如本地库账户入账)放在了同步里。
导致问题及解决方案:
1、支付成功回调后,刷新,导致重复提交,即重复充值。
1)在充值流水里增加交易号及交易状态,考虑对已有代码的改动及后续扩展没有采纳。
2)考虑用类似struts的同步令牌机制来解决没有成功。
刷新的页面是回调的url,get请求,不能传递hidden隐藏的tokenname及token。用共享缓存保存token,一旦缓存失效呢。
3)将请求redirect转发,用RedirectAttributes传递参数。
2、回调成功页面时,将页面关掉,导致本地库账户未入账。
延伸阅读:
重复提交、重复刷新、防止后退
浙公网安备 33010602011771号